午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP 7終于發(fā)布:開發(fā)者會(huì)選擇PHP 7嗎?

瀏覽:194日期:2022-09-12 11:17:30

大家可以通過(guò)閱讀本文,學(xué)習(xí)關(guān)于PHP7.0的五個(gè)方面的內(nèi)容:PHP7.0簡(jiǎn)介、主要新特性、過(guò)去幾周關(guān)于程序員是否采用php7.0的意愿調(diào)查結(jié)果、以上調(diào)查結(jié)果的分析、以及對(duì)PHP未來(lái)版本的期待。

(一)PHP 7簡(jiǎn)介

PHP 7終于發(fā)布:開發(fā)者會(huì)選擇PHP 7嗎?

PHP 7 是11年來(lái)首次發(fā)布的PHP主版本,PHP上一次發(fā)布主版本是在2004年 ,當(dāng)時(shí)發(fā)布的是PHP 5.0.0。

與這次PHP核心開發(fā)人員沉睡已久不同,PHP 6 曾立志要讓PHP支持Unicode字符串。然而開發(fā)停滯不前,PHP 6計(jì)劃在2010年被取消了。

自那以后雖然也有一些帶著重要新特性的PHP版本發(fā)布,比如PHP 5.4,但沒(méi)有哪個(gè)真正稱得上主版本。

直到2010年Facebook為 HipHop編譯器揭開面紗。這款編譯器可以將PHP轉(zhuǎn)為C++代碼,再轉(zhuǎn)為本地機(jī)器碼,用C++編譯器編譯。盡管這個(gè)想法很好,也改進(jìn)了PHP的性能,但不實(shí)用,因?yàn)楸镜貦C(jī)器碼編譯PHP腳本耗時(shí)太久。

之后Facebook換了另一種方法,他們開發(fā)了HHVM(HipHop Virtual Machine),通過(guò)JIT engine(Just In Time)將PHP代碼轉(zhuǎn)換為本地機(jī)器碼。這使得所耗時(shí)間大大減少并且性能得到顯著改進(jìn)。

很顯然,F(xiàn)acebook不滿意PHP的特性,于是在2014年啟動(dòng)Hack項(xiàng)目,它源于PHP語(yǔ)言卻有著很多PHP沒(méi)有的特性,比如對(duì)所有數(shù)據(jù)類型都進(jìn)行更嚴(yán)格的類型檢查,以及支持內(nèi)置異步編程。

不久后Zend的Dmitry Stogov 發(fā)布了PHP的一個(gè)名為PHPNG的分支。

(二)PHP 7 的主要新特性

PHPNG的初衷是做調(diào)查,調(diào)查JIT engine的引入將對(duì)基于PHP版本的Zend Engine有何影響。然而,隨著進(jìn)一步的研究他發(fā)現(xiàn),其他方面的改進(jìn)能讓PHP代碼運(yùn)行得更快。

PHPNG是PHP 7的基礎(chǔ),起名叫PHPNG是為了避免與被取消的PHP 6混淆。

PHP7新增的其他功能包括:標(biāo)量值的嚴(yán)格類型、匿名類、嵌套類、編譯PHP引擎的可能性以及特定程序優(yōu)化,好比Wordpress使用了Performance Guided Optimizations(PGO)。

PHP 7.0本來(lái)計(jì)劃在10月發(fā)布,但是因?yàn)橐恍﹪?yán)重的bug所以推遲到了十二月。

(三)PHP7 接受程度調(diào)查結(jié)果分析

PHP 7 的發(fā)布是PHP世界近年來(lái)最令人激動(dòng)的事之一,因?yàn)閷?duì)其功能有太多的期待,比如上文提到的那些。

許多開發(fā)者迫不及待地使用PHP7,但不是每個(gè)人都能正確地使用它。接下來(lái)這個(gè)調(diào)查就是用于評(píng)估PHP程序員是否愿意采用PHP 7。

調(diào)查主要圍繞三個(gè)問(wèn)題:

你是否打算在你的生產(chǎn)中使用PHP 7?你是否打算在你的開發(fā)環(huán)境中使用PHP 7?你生產(chǎn)中所使用的最新版的PHP是哪個(gè)?

526位開發(fā)者參與該調(diào)查,所以以下結(jié)果應(yīng)該能代表許多PHP程序員的真實(shí)反應(yīng):

1. 你是否打算在你的生產(chǎn)中使用PHP 7?

是的,從7.0.0的第一個(gè)穩(wěn)定版上線之前我就開始用了。

21

4%

是的,我打算在官方7.0.0版本發(fā)布后使用。

104

19.8%

是的,我將會(huì)在官方發(fā)布幾周后使用。

196

37.3%

不一定,取決于我的客戶。

44

8.4%

不會(huì),不會(huì)很快就用,因?yàn)檫w移代碼需要太多時(shí)間。

58

11%

不會(huì),我只打算在將來(lái)的項(xiàng)目中使用。

64

12.2%

不會(huì),除非我的公司強(qiáng)迫我使用,并且不再提供舊的版本。

20

3.8%

其他

19

3.6%

PHP 7終于發(fā)布:開發(fā)者會(huì)選擇PHP 7嗎?

2. 你是否打算在你的開發(fā)環(huán)境中使用PHP 7?

是的,我一直在使用著。

41

7.8%

是的,為了測(cè)試它的新特性,我試了幾次。

60

11.4%

是的,只要官方7.0.0版本發(fā)布我就會(huì)開始使用。

218

41.4%

是的,我將會(huì)等待幾周至幾個(gè)月,直到我有更多的時(shí)間去檢查它

112

21.3%

這取決于我的客戶

11

2.1%

不會(huì),現(xiàn)在不會(huì)使用,我只計(jì)劃在將來(lái)的項(xiàng)目中使用

62

11.8%

不會(huì),除非我的公司強(qiáng)迫我使用它,并且我需要修改我的代碼

13

2.5%

其他

9

2.7%

PHP 7終于發(fā)布:開發(fā)者會(huì)選擇PHP 7嗎?

3. 你生產(chǎn)中所使用的最新版PHP是哪個(gè)?

PHP 7.0

10

1.9%

PHP 5.6

299

56.8%

PHP 5.5

111

21.1%

PHP 5.4

59

11.2%

PHP 5.3

38

7.2%

PHP 5.2

5

1%

PHP 5.1

0

0%

PHP 5.0

1

0.2%

PHP 4

0

0%

其他

3

0.6%

PHP 7終于發(fā)布:開發(fā)者會(huì)選擇PHP 7嗎?

(四)PHP 7 調(diào)查結(jié)果分析

從第一個(gè)問(wèn)題可看出絕大多數(shù)程序員不是早期使用者。他們想使用PHP 7 但需要過(guò)一段時(shí)間等PHP7 穩(wěn)定后再用。

盡管有8個(gè)候選發(fā)布版本,并且PHP測(cè)試小組評(píng)估PHP通過(guò)全部測(cè)試的可能性很大,但開發(fā)者也知道應(yīng)該會(huì)有些bug和向后不兼容的更改存在,這些會(huì)導(dǎo)致程序員花費(fèi)相當(dāng)長(zhǎng)的時(shí)間,用于PHP的最終修復(fù)或者基于開發(fā)者需要去修改代碼。

另外,還有一部分的程序員只想在新項(xiàng)目中使用PHP 7,因?yàn)槟壳罢谶M(jìn)行的這些項(xiàng)目非常重要,因此不能被PHP7 可能出現(xiàn)的錯(cuò)誤影響。

第二個(gè)問(wèn)題是關(guān)于PHP程序員對(duì)PHP 7的好奇心有多重。結(jié)果顯示大部分程序員愿意在開發(fā)環(huán)境中測(cè)試PHP 7,因?yàn)檫@樣更安全。

程序員們已經(jīng)能夠想象一旦他們的代碼出現(xiàn)問(wèn)題,等待他們修復(fù)的工作量該是多么的驚人,尤其是那些自己擁有測(cè)試套件的程序員,因?yàn)樗麄兛赡芤呀?jīng)看到有很多的測(cè)試顯示失敗。

第三個(gè)即最后一個(gè)問(wèn)題,顯示了程序員們正在使用的PHP版本有多新。

有一小部分的人正在勇敢地在生產(chǎn)中使用PHP 7。雖然我認(rèn)為他們不大可能在非常重要的項(xiàng)目中使用PHP 7開發(fā)。

數(shù)據(jù)顯示了個(gè)好消息,絕大部分程序員已經(jīng)開始使用PHP 5.6了。而且在最壞的情況下他們?nèi)匀皇褂肞HP 5.3。這有可能是因?yàn)樗麄兊墓静惶峁┢渌陌姹荆蛘呤且驗(yàn)樾掳姹静贿m用于他們的代碼。

如今幾乎每個(gè)人使用的版本都不低于PHP 5.3.11,因?yàn)楦系陌姹纠镉兄旅腷ug,這些可能會(huì)導(dǎo)致你的服務(wù)器崩潰。

也許你很好奇那3位選擇“其他”的開發(fā)者使用的是什么,事實(shí)上只有一位準(zhǔn)確說(shuō)了正在使用的是HHVM。為了使用HHVM你需要控制你的托管環(huán)境并且需要手工編譯它。然而,絕大多數(shù)程序員不可能這么做或者沒(méi)這技術(shù)。

(五)PHP 7的未來(lái)

現(xiàn)在PHP 7 已經(jīng)正式發(fā)布了,你也許會(huì)很好奇下一步是什么。以下是一些已在計(jì)劃內(nèi)以及我們猜想的特性。

一些新特性的計(jì)劃我們已經(jīng)在“Lately in PHP Podcast”中討論過(guò)了。如果你很好奇,你可以追隨博客音頻或者訂閱YouTube頻道來(lái)獲取關(guān)于PHP的最新功能的討論。

1. PCO是加密的PDO

我們已經(jīng)知道的是會(huì)有一個(gè)抽象擴(kuò)展,名為PCO,這個(gè)類似于PDO但是有密碼。

2. PHP靜態(tài)代碼分析器

Rasmus Lerdorf還開發(fā)了一個(gè)工具叫PHAN,這是個(gè)PHP靜態(tài)代碼分析器。目的是僅通過(guò)分析你的PHP代碼而不去運(yùn)行代碼,就檢測(cè)出可能存在的bug。該工具利用了PHP 7中新的AST(抽象語(yǔ)法樹)擴(kuò)展。

3. 帶async and await的異步編程

另一種可能性是,PHP使用async and await構(gòu)造,以提供更好的內(nèi)置異步編程支持。這使你能夠在同一個(gè)腳本中運(yùn)行多并行任務(wù),而不需要等一個(gè)任務(wù)執(zhí)行一個(gè)任務(wù)。

請(qǐng)不要將異步編程與多線程編程混淆。PHP已經(jīng)可以使用pthreads extension.執(zhí)行多線程編程了。

Async and await構(gòu)造最大的優(yōu)勢(shì)是不再需要你處理callback hell。這意味著如果你需要等待一些異步操作,比如訪問(wèn)文件系統(tǒng)、數(shù)據(jù)庫(kù)或遠(yuǎn)程服務(wù)器,你只需要使用等待關(guān)鍵字,那么異步操作完成后,腳本將會(huì)繼續(xù)操作下一個(gè)語(yǔ)句。

Async and await構(gòu)造關(guān)鍵字需要PHP有一些重要的改變,因?yàn)樗枰幚韮?nèi)部事件循環(huán)。然而,PHP 開發(fā)者已經(jīng)開始討論,實(shí)施async and await以及關(guān)鍵字的構(gòu)造可能性,因?yàn)檫@些關(guān)鍵字應(yīng)該在其他開發(fā)者開始使用之前被保存。

此外,F(xiàn)acebook Hack語(yǔ)言也支持async and await。我猜測(cè)Facebook是想為PHP程序員帶來(lái)具有async and await功能的PHP。

也許你懷疑PHP需要這些構(gòu)造的必要性,但是一旦你了解他們的優(yōu)點(diǎn)后,你就會(huì)知道他們的重要性。

很多程序員轉(zhuǎn)移到Node.js,因?yàn)镹ode.js支持異步編程。Node.js目前還不支持async and await關(guān)鍵字,但也只是時(shí)間問(wèn)題,因?yàn)閍sync and await也是EcmaScript 7的新特性之一,而且將來(lái)的Node.js將使用基于EcmaScript 7的JavaScript。

這樣的開發(fā)被認(rèn)為更加重要,特別是在Wordpress近期宣布盡可能多的將代碼(從php)移植到JavaScript,包括在服務(wù)器端(從php)移植到Node.js和React框架。

顯然這是他們對(duì)服務(wù)器最大利用化的一步,該服務(wù)器托管著Wordpress.com blogs。我不知道WordPress社區(qū)是否會(huì)接受這項(xiàng)目,因?yàn)橛谐汕先f(wàn)的插件依賴于PHP。

4. 獨(dú)立的Web服務(wù)器

PHP有一個(gè)獨(dú)立的Web服務(wù)器,但不推薦給生產(chǎn)環(huán)境。

一旦PHP支持內(nèi)置異步編程,那用它開發(fā)HTTP Web 服務(wù)將更容易,哪怕用純PHP編寫,就像是在用Node.js一樣。

這使得PHP的功能更靈活,處理并行請(qǐng)求更高效使用更少內(nèi)存,尤其是在合并異步編程和基于pthreads的多線程編程后之后。

(六)總結(jié)

PHP 7是巨大的飛躍,但世界在不停旋轉(zhuǎn),因此PHP也必須跟上新趨勢(shì),比如上文提到的那些。

我們還是要祝賀所有付出時(shí)間和精力的開發(fā)者,因?yàn)槭撬麄兪筆HP如此優(yōu)秀,比如PHP 7。

如果你喜歡本文,或者想問(wèn)一些和PHP 7新特性有關(guān)的問(wèn)題并收獲回復(fù),請(qǐng)?jiān)谙路皆u(píng)論。

原文鏈接:PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? 譯者/王葦棋

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 日韩网站视频 | 亚洲女优在线 | 伊人狼人久久 | 岛国精品在线观看 | 欧美高清性| 爱爱精品 | 蜜桃av免费观看 | 91精品国产综合久久久蜜臀粉嫩 | 久久精品在线播放 | 日韩欧美大片在线观看 | 午夜成人免费视频 | 国产精品欧美综合亚洲 | 欧美野战 | 亚洲欧美另类一区 | 下北阳光灿烂的日子 | av在线资源观看 | 亚洲精品国产一区二 | 玖草视频在线观看 | 国产精品综合在线 | 免费一级全黄少妇性色生活片 | 香蕉视频在线观看视频 | 色偷偷超碰 | 神马午夜国产 | 97精品在线| 日本韩国欧美在线 | 91免费福利 | 婷婷综合在线观看 | 神马久久精品综合 | 国产日韩欧美成人 | 视频在线观看一区二区 | 免费在线观看国产精品 | 精品视频免费在线 | 久久亚洲天堂网 | 韩日免费av | 黄色av一区二区三区 | 成人小视频在线 | 欧美日本中文字幕 | 男人操女人的视频网站 | 国产精品不卡视频 | 成人综合站 | 欧美a级成人淫片免费看 |