久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

PHP 早已不是十年前的模樣

2021-03-06    分類: 網(wǎng)站建設(shè)

Brent 承認(rèn) PHP 當(dāng)前仍然存在一些問題,比如許多核心函數(shù)仍然有不一致的方法簽名、配置設(shè)置還是令人困惑,但是以他自己的開發(fā)經(jīng)驗(yàn)來看,他認(rèn)為 PHP 是 Web 開發(fā)的好選擇,使用 PHP,他可以創(chuàng)建可靠、可維護(hù)和高質(zhì)量的應(yīng)用,并且自己與客戶對最終結(jié)果都滿意。

文章中 Brent 關(guān)注于 PHP 這些年來發(fā)展得好的一面,他通過幾下幾點(diǎn),說明“PHP 不再是十年前那一門糟糕的語言了”:

  • PHP 正在積極開發(fā),每年都會發(fā)布新版本
  • PHP 5 之后性能在不斷提高
  • 有非常活躍的框架、包和平臺組成的語言生態(tài)
  • PHP 在不斷發(fā)展,過去幾年中添加了許多新功能
  • 各種開發(fā)工具在過去幾年中已經(jīng)成熟,并且保持增長

PHP 正在積極開發(fā),每年都會發(fā)布新版本

當(dāng)前 PHP 版本是去年 12 月份發(fā)布的 7.3,7.4 預(yù)計(jì)在今年年底發(fā)布,而 PHP 8.0 將是 7.4 之后的下一個(gè)版本。

BranchInitial ReleaseActive Support UntilSecurity Support Until7.11 Dec 20162 years, 5 months ago1 Dec 20185 months ago1 Dec 2019in 6 months7.230 Nov 20171 year, 5 months ago30 Nov 2019in 6 months30 Nov 2020in 1 year, 6 months7.36 Dec 20185 months ago6 Dec 2020in 1 year, 6 months6 Dec 2021in 2 years, 6 months

自從 5.X 時(shí)代以來,核心團(tuán)隊(duì)希望每年發(fā)布一個(gè)新版本,在過去四年中他們成功維護(hù)了這么一個(gè)發(fā)布周期。通常每個(gè)新版本都會得到官方兩年時(shí)間的積極支持,之后有一年僅提供安全修復(fù),其目的是激勵(lì) PHP 開發(fā)人員盡可能保持更新。


更加具體的發(fā)布與維護(hù)周期可以查看 PHP 官網(wǎng)的介紹:

  • https://www.php.net/supported-versions.php

看到上邊這個(gè)表,你可能會發(fā)現(xiàn)版本號從 5 跳到了 7,那 PHP 6 去哪里了?

其實(shí)早在 2005 年,PHP 社區(qū)就發(fā)起了 PHP 6,但由于實(shí)現(xiàn) Unicode 面臨的困難太大,項(xiàng)目最終流產(chǎn),PHP 官方?jīng)]有發(fā)布 PHP 6 GA,并且在 2010 年將 PHP 6 取消。雖然 PHP 6 項(xiàng)目取消了,但其大量已實(shí)現(xiàn)功能集成到了 PHP 5.X 中,包括 OOP 方面的改進(jìn),使得 PHP 從面向過程跨越到面向?qū)ο蟆?/p>

PHP 6 被取消了,但是之前對這個(gè)主要版本的研發(fā)都是以 PHP 6 的名義進(jìn)行的,所以許多參考資料與書籍都是用“PHP 6”來指代該版本。官方擔(dān)心這在放棄 PHP 6 之后會引起混亂,于是干脆不使用 PHP 6.X 版本號,直接從 5 跳到 7。

詳情可以查看官方說明:https://wiki.php.net/rfc/php6

PHP 5 之后性能在不斷提高

PHP 7.0 中,PHP 核心部分完全重寫,帶來了最新的 Zend 引擎,使得 PHP 性能提升了兩到三倍。

作者引用了 https://kinsta.com/blog/php-benchmarks 的基準(zhǔn)測試來說明這一點(diǎn),指出自 7.0 以來,PHP 性能一直在提升,PHP Web 應(yīng)用與其它語言的 Web 框架相比在一些情況下性能好很多。但他也表示:“當(dāng)然 PHP 框架不會勝過 C 與 Rust,但比 Rails 或 Django 好得多,與 ExpressJS 相當(dāng)。”

有非常活躍的框架、包和平臺組成的語言生態(tài)

提到 PHP 的框架,不得不說 WordPress,但是作者表示 WordPress 絕對不代表當(dāng)前的 PHP 生態(tài):“PHP 框架再也不僅僅只有 WordPress 了”。

當(dāng)前 PHP 中有兩個(gè)主要的 Web 應(yīng)用開發(fā)框架:Symfony 與 Laravel,還有 Zend、Yii、Cake 與 Code Igniter 這些,此外還有不少較小的框架。

Symfony 與 Laravel 都擁有龐大的包和軟件生態(tài),包括 admin 面板和 crm、獨(dú)立軟件包、CI、分析器、Web socket 服務(wù)器、隊(duì)列管理器與支付集成等。

此外,近幾年 PHP 異步框架也興起了,Swoole、Amp 與 ReactPHP 是其中的佼佼者,它們是用 PHP 或其它語言編寫的框架和服務(wù)器,用來運(yùn)行真正的異步 PHP。

作者認(rèn)為衡量 PHP 生態(tài)當(dāng)前狀況的一種方法是查看 Packagist 這個(gè) PHP 主要軟件包存儲庫的數(shù)據(jù)。通過以下趨勢圖,可以發(fā)現(xiàn)軟件包數(shù)量呈指數(shù)增長,并且當(dāng)前錄入軟件包有 223?217 個(gè),總的安裝量達(dá)到了 14?827?204?847,PHP 生態(tài)已不再像以前那么弱小。


各種版本的可用軟件包的數(shù)量


每月包被安裝數(shù)


此外,還可以看看這個(gè) PHP 使用統(tǒng)計(jì)與市場定位最新數(shù)據(jù):

  • https://www.oschina.net/news/106695/w3techs-php-report-20190515

PHP 在不斷發(fā)展,過去幾年中添加了許多新特性

盡管 async 與 await 這兩個(gè)呼聲極高的特性還沒有實(shí)現(xiàn),但是 PHP 這幾年新特性不斷出現(xiàn),語言本身得到了各方面的改進(jìn)。

下邊列出了一些關(guān)注度比較高的 PHP 新特性:

  • Short closures

短閉包,也稱為箭頭函數(shù),這是一種在 PHP 中編寫較短函數(shù)的方法。將閉包傳遞給 array_map 或 array_filter 等函數(shù)時(shí),它可以發(fā)揮極大的作用。

// A collection of Post objects $posts = [/* … */];$ids = array_map(fn($post) => $post->id, $posts);
  • Null coalescing operator

空合并運(yùn)算符,它類似于三元運(yùn)算符,但左邊的操作數(shù)行為類似于 isset,而不是僅使用其布爾值。這使得此運(yùn)算符對數(shù)組特別有用。它同時(shí)可在未設(shè)置變量時(shí)分配默認(rèn)值。

$undefined ?? 'fallback'; // 'fallback'$unassigned;$unassigned ?? 'fallback'; // 'fallback'$assigned = 'foo';$assigned ?? 'fallback'; // 'foo''' ?? 'fallback'; // '''foo' ?? 'fallback'; // 'foo''0' ?? 'fallback'; // '0'0 ?? 'fallback'; // 0false ?? 'fallback'; // false
  • Traits

Trait 是一種重用代碼的機(jī)制,它可以減少單繼承的某些限制。Traits 與類組合的語義定義了降低復(fù)雜性的方式,并避免了與多重繼承和 Mixins 相關(guān)的典型問題。

Trait 類似于類,但僅用于以細(xì)粒度和一致的方式對函數(shù)進(jìn)行分組,它是對傳統(tǒng)繼承的補(bǔ)充,可以實(shí)現(xiàn)行為的橫向組合,類成員應(yīng)用不需要繼承。

<?phptrait ezcReflectionReturnInfo { function getReturnType() { /*1*/ } function getReturnDescription() { /*2*/ }}class ezcReflectionMethod extends ReflectionMethod { use ezcReflectionReturnInfo; /* ... */}class ezcReflectionFunction extends ReflectionFunction { use ezcReflectionReturnInfo; /* ... */}?>
  • Typed properties

屬性類型化,類變量可以定義類型,比如:

class A{ public string $name; public Foo $foo;}
  • Spread operator

擴(kuò)展運(yùn)算符,這是一種新語法,可以直接在調(diào)用中解壓縮參數(shù),比如:

call_user_func_array([$db, 'query'], array_merge(array($query), $params));

直接用新語法可擴(kuò)展出數(shù)組 $params:

$db->query($query, ...$params);
  • JIT compiler:PHP 8 確認(rèn)支持 JIT

JIT 是一種編譯器策略,它將代碼表述為一種中間狀態(tài),在運(yùn)行時(shí)將其轉(zhuǎn)換為依賴于體系結(jié)構(gòu)的機(jī)器碼,并即時(shí)執(zhí)行。在 PHP 中,這意味著 JIT 將為 Zend VM 生成的指令視為中間表述,并以依賴于體系結(jié)構(gòu)的機(jī)器碼執(zhí)行,也就是說托管代碼的不再是 Zend VM,而是更為底層的 CPU。

  • FFI

Foreign Function Interface,外部函數(shù)接口,它允許從純腳本語言調(diào)用 C 函數(shù)、使用 C 數(shù)據(jù)類型,從而更有效地開發(fā)“系統(tǒng)代碼”。對于 PHP,F(xiàn)FI 開辟了一種使用純 PHP 編寫 PHP 擴(kuò)展和綁定到 C 庫的方法。

  • Anonymous classes

匿名類,用于創(chuàng)建簡單的一次性對象:

<?php// Pre PHP 7 codeclass Logger{ public function log($msg) { echo $msg; }}$util->setLogger(new Logger());// PHP 7+ code$util->setLogger(new class { public function log($msg) { echo $msg; }});
  • Return type declarations

聲明返回類型:

<?phpfunction sum($a, $b): float { return $a + $b;}// Note that a float will be returned.var_dump(sum(1, 2));?>

嚴(yán)格模式:

<?phpdeclare(strict_types=1);function sum($a, $b): int { return $a + $b;}var_dump(sum(1, 2));var_dump(sum(1, 2.5));?>
  • Contemporary cryptography

使 Libsodium 成為核心擴(kuò)展,Libsodium 是一個(gè)現(xiàn)代加密庫,由安全專家精心選擇的加密算法組成,以避免側(cè)信道漏洞。

  • Generators

生成器,提供了一種簡單、無樣板實(shí)現(xiàn)迭代器的方法。

各種開發(fā)工具在過去幾年中已經(jīng)成熟,并且保持增長

最后一部分,作者分析了當(dāng)前 PHP 開發(fā)工具也在不斷成熟,并且保持增長。

他以靜態(tài)分析器為例,比如 Psalm、Phan 與 PHPStan,這些工具將靜態(tài)分析 PHP 代碼并報(bào)告任何類型錯(cuò)誤與可能存在的 bug。在某種程度上,它們提供的功能可以與 TypeScript 的相媲美,但是因?yàn)?PHP 現(xiàn)在不提供轉(zhuǎn)換(transpile),所以不允許使用自定義語法。這意味著 PHP 開發(fā)需要依賴文檔,但其實(shí) PHP 的創(chuàng)造者 Rasmus Lerdorf 曾經(jīng)提到了向核心添加靜態(tài)分析引擎的想法。

受到 JavaScript 社區(qū)的啟發(fā),目前 PHP 也有在進(jìn)行轉(zhuǎn)換的相關(guān)研發(fā),比如項(xiàng)目 Pre,它允許新的 PHP 語法轉(zhuǎn)換為普通的 PHP 代碼。雖然這個(gè)想法已經(jīng)在 JavaScript 中被證明可行,但作者認(rèn)為在 PHP 中,只有先提供了適當(dāng)?shù)?IDE 和靜態(tài)分析支持,它才有可能實(shí)現(xiàn)。

講完了 PHP 當(dāng)前的這些變化,作者最后沒有以“PHP 是世界上最好的語言”作結(jié)語,相反,他是這樣說的:

All that being said, feel free to still think of PHP as a crappy language... I can say in confidence that I enjoy working with it.

話雖如此,但是還要繼續(xù)認(rèn)為 PHP 是蹩腳的語言那也是可以的。我可以很自信地說我喜歡 PHP。

分享標(biāo)題:PHP 早已不是十年前的模樣
URL鏈接:http://www.js-pz168.com/news27/104527.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司品牌網(wǎng)站制作網(wǎng)站營銷移動網(wǎng)站建設(shè)企業(yè)建站網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
日韩免费av一区二区三区| 欧洲一区二区av| 欧美影院一区二区三区| 91麻豆精品国产91久久久更新时间| 欧美mv和日韩mv的网站| 久久新电视剧免费观看| 亚洲色图丝袜美腿| 免费的国产精品| 成人黄动漫网站免费app| 国产综合色一区二区三区| 亚洲欧美影院| 日韩一区二区三区免费看| 国产精品久久久久一区 | 自拍av一区二区三区| 午夜精品福利在线| 成人永久aaa| 精品产品国产在线不卡| 91久久国产最好的精华液| 日韩免费视频一区| 亚洲精品自拍动漫在线| 国产专区欧美精品| 国产自产精品| 欧美三级中文字| 国产欧美一区二区精品性色超碰| 亚洲综合免费观看高清完整版 | 久久综合福利| 欧美日韩中文一区| 久久久国产精华| 丝袜国产日韩另类美女| av在线不卡免费看| 日韩影片在线播放| 日韩欧美一级在线播放| 一区二区欧美在线观看| 高清不卡一区二区| 日本高清久久一区二区三区| 4438x成人网最大色成网站| 综合亚洲深深色噜噜狠狠网站| 老司机一区二区| 成人在线观看91| 精品视频一区 二区 三区| 国产精品无人区| 精东粉嫩av免费一区二区三区| 国产视频在线观看一区| 欧美日韩你懂得| 亚洲欧美电影院| 国产91精品一区二区麻豆网站 | 国产一区二区三区精品视频| 九九九九久久久久| 欧美一区二区三区色| 亚洲综合色成人| 91丨porny丨最新| 91福利小视频| 亚洲日本电影在线| 激情欧美日韩一区二区| 国内精品视频在线播放| 91精品黄色片免费大全| 亚洲一二三区在线观看| 91在线小视频| 欧美性色aⅴ视频一区日韩精品| 中文字幕一区二区视频| 风间由美性色一区二区三区| 亚洲一区三区在线观看| 国产视频一区二区三区在线观看| 久久99国产精品尤物| 热re99久久精品国99热蜜月| 精品处破学生在线二十三| 免费成人性网站| 精品伊人久久大线蕉色首页| 日韩欧美国产一区二区三区| 日韩—二三区免费观看av| 精品无人区一区二区三区| 日韩精品一区二区三区蜜臀| 蜜桃精品视频在线观看| 欧美日韩高清免费| 久久精品视频一区二区三区| 麻豆精品一区二区| 欧美精品成人一区二区在线观看| 久久一区二区视频| 国产一区二区中文字幕| 中文字幕一区二区三区在线乱码| 国产精品麻豆视频| 成人ar影院免费观看视频| 欧美亚洲一区二区在线| 亚洲国产精品一区二区www| 国产精品日韩二区| 日韩精品一区二区在线| 黄页视频在线91| 一级日韩一区在线观看| 中文字幕一区二区三区乱码在线| 成人18精品视频| 91精品国产综合久久久久| 免费欧美在线视频| 日韩福利视频| 亚洲三级理论片| 粉嫩av四季av绯色av第一区| 精品久久久久99| 国产精品69久久久久水密桃 | 亚洲精品ww久久久久久p站| 国产一区二区不卡视频在线观看| 日韩精品自拍偷拍| 国产精品资源站在线| 在线观看网站黄不卡| 视频一区二区三区在线| 午夜精品一区二区三区在线观看 | 亚洲女同一区二区| 国产99在线免费| 国产网站一区二区| 91亚洲精品一区二区乱码| 欧美成人精品高清在线播放| 国产精品中文字幕一区二区三区| 欧美无人高清视频在线观看| 日本aⅴ免费视频一区二区三区| 亚洲人成网站在线观看播放| 亚洲综合男人的天堂| 国产一区二区免费电影| 国产精品日产欧美久久久久| 成人三级视频在线观看一区二区| 久久久国产综合精品女国产盗摄| www.欧美亚洲| 欧美精品一区二区三区一线天视频 | 久久久久久久久99精品| yourporn久久国产精品| 日韩三级精品电影久久久| 国产乱人伦精品一区二区在线观看| 欧美日韩国产综合视频在线观看| 精品系列免费在线观看| 欧美日本一区二区三区| 国产一区二区三区四区在线观看| 欧美日韩第一区日日骚| 国产乱码精品一区二区三区av| 欧美区一区二区三区| 国产精品1区2区| 欧美电影免费观看高清完整版在| 成人高清免费观看| 日韩女优毛片在线| 91久色porny| 中文字幕国产一区二区| 激情一区二区三区| 亚洲欧美日韩综合aⅴ视频| 女同一区二区| 青青国产91久久久久久| 欧美群妇大交群中文字幕| av高清不卡在线| 亚洲人123区| 中文字幕久久一区| 国产成人免费在线视频| 国产日韩精品久久久| 欧美一卡2卡3卡4卡无卡免费观看水多多| 三级久久三级久久久| 欧美精品成人一区二区三区四区| 91丨九色丨蝌蚪富婆spa| 亚洲免费在线播放| 91福利精品视频| www.日本不卡| 亚洲免费高清视频在线| 在线观看国产日韩| 99久久精品国产观看| 一区二区三区中文字幕| 欧美午夜精品理论片a级按摩| 99视频一区二区| 一区二区三区精品在线| 欧美日韩视频在线一区二区 | 日韩免费电影网站| 精品在线一区| 久久电影网站中文字幕| 久久精品日产第一区二区三区高清版| 欧美午夜精品久久久久免费视 | 色8久久人人97超碰香蕉987| 国产黄人亚洲片| 国产精品黄色在线观看 | 日韩成人午夜精品| ww久久中文字幕| 亚洲春色在线| 成人激情免费电影网址| 夜夜精品浪潮av一区二区三区| 欧美日韩高清不卡| 国产亚洲自拍偷拍| 久久国产福利国产秒拍| 中日韩av电影| 91国偷自产一区二区使用方法| 91免费看片在线观看| 日韩中文字幕区一区有砖一区| 精品国产百合女同互慰| 亚洲精品一区二区三区蜜桃久| 成人精品国产福利| 亚洲午夜激情网页| 欧美精品一区二区三区蜜桃视频| 亚欧精品在线| 91蝌蚪porny| 蜜桃久久久久久久| 国产精品理论在线观看| 欧美午夜精品久久久| 国产伦精品一区二区三区在线| 久久精品国产77777蜜臀| 国产精品国产a| 在线播放视频一区| 青青草成人激情在线| 成人av第一页| 日本一不卡视频| 国产精品国产自产拍高清av|