电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP 7終于發布:開發者會選擇PHP 7嗎?

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

大家可以通過閱讀本文,學習關于PHP7.0的五個方面的內容:PHP7.0簡介、主要新特性、過去幾周關于程序員是否采用php7.0的意愿調查結果、以上調查結果的分析、以及對PHP未來版本的期待。

(一)PHP 7簡介

PHP 7終于發布:開發者會選擇PHP 7嗎?

PHP 7 是11年來首次發布的PHP主版本,PHP上一次發布主版本是在2004年 ,當時發布的是PHP 5.0.0。

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

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

直到2010年Facebook為 HipHop編譯器揭開面紗。這款編譯器可以將PHP轉為C++代碼,再轉為本地機器碼,用C++編譯器編譯。盡管這個想法很好,也改進了PHP的性能,但不實用,因為本地機器碼編譯PHP腳本耗時太久。

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

很顯然,Facebook不滿意PHP的特性,于是在2014年啟動Hack項目,它源于PHP語言卻有著很多PHP沒有的特性,比如對所有數據類型都進行更嚴格的類型檢查,以及支持內置異步編程。

不久后Zend的Dmitry Stogov 發布了PHP的一個名為PHPNG的分支。

(二)PHP 7 的主要新特性

PHPNG的初衷是做調查,調查JIT engine的引入將對基于PHP版本的Zend Engine有何影響。然而,隨著進一步的研究他發現,其他方面的改進能讓PHP代碼運行得更快。

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

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

PHP 7.0本來計劃在10月發布,但是因為一些嚴重的bug所以推遲到了十二月。

(三)PHP7 接受程度調查結果分析

PHP 7 的發布是PHP世界近年來最令人激動的事之一,因為對其功能有太多的期待,比如上文提到的那些。

許多開發者迫不及待地使用PHP7,但不是每個人都能正確地使用它。接下來這個調查就是用于評估PHP程序員是否愿意采用PHP 7。

調查主要圍繞三個問題:

你是否打算在你的生產中使用PHP 7?你是否打算在你的開發環境中使用PHP 7?你生產中所使用的最新版的PHP是哪個?

526位開發者參與該調查,所以以下結果應該能代表許多PHP程序員的真實反應:

1. 你是否打算在你的生產中使用PHP 7?

是的,從7.0.0的第一個穩定版上線之前我就開始用了。

21

4%

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

104

19.8%

是的,我將會在官方發布幾周后使用。

196

37.3%

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

44

8.4%

不會,不會很快就用,因為遷移代碼需要太多時間。

58

11%

不會,我只打算在將來的項目中使用。

64

12.2%

不會,除非我的公司強迫我使用,并且不再提供舊的版本。

20

3.8%

其他

19

3.6%

PHP 7終于發布:開發者會選擇PHP 7嗎?

2. 你是否打算在你的開發環境中使用PHP 7?

是的,我一直在使用著。

41

7.8%

是的,為了測試它的新特性,我試了幾次。

60

11.4%

是的,只要官方7.0.0版本發布我就會開始使用。

218

41.4%

是的,我將會等待幾周至幾個月,直到我有更多的時間去檢查它

112

21.3%

這取決于我的客戶

11

2.1%

不會,現在不會使用,我只計劃在將來的項目中使用

62

11.8%

不會,除非我的公司強迫我使用它,并且我需要修改我的代碼

13

2.5%

其他

9

2.7%

PHP 7終于發布:開發者會選擇PHP 7嗎?

3. 你生產中所使用的最新版PHP是哪個?

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終于發布:開發者會選擇PHP 7嗎?

(四)PHP 7 調查結果分析

從第一個問題可看出絕大多數程序員不是早期使用者。他們想使用PHP 7 但需要過一段時間等PHP7 穩定后再用。

盡管有8個候選發布版本,并且PHP測試小組評估PHP通過全部測試的可能性很大,但開發者也知道應該會有些bug和向后不兼容的更改存在,這些會導致程序員花費相當長的時間,用于PHP的最終修復或者基于開發者需要去修改代碼。

另外,還有一部分的程序員只想在新項目中使用PHP 7,因為目前正在進行的這些項目非常重要,因此不能被PHP7 可能出現的錯誤影響。

第二個問題是關于PHP程序員對PHP 7的好奇心有多重。結果顯示大部分程序員愿意在開發環境中測試PHP 7,因為這樣更安全。

程序員們已經能夠想象一旦他們的代碼出現問題,等待他們修復的工作量該是多么的驚人,尤其是那些自己擁有測試套件的程序員,因為他們可能已經看到有很多的測試顯示失敗。

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

有一小部分的人正在勇敢地在生產中使用PHP 7。雖然我認為他們不大可能在非常重要的項目中使用PHP 7開發。

數據顯示了個好消息,絕大部分程序員已經開始使用PHP 5.6了。而且在最壞的情況下他們仍然使用PHP 5.3。這有可能是因為他們的公司不提供其他的版本,或者是因為新版本不適用于他們的代碼。

如今幾乎每個人使用的版本都不低于PHP 5.3.11,因為更老的版本里有致命的bug,這些可能會導致你的服務器崩潰。

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

(五)PHP 7的未來

現在PHP 7 已經正式發布了,你也許會很好奇下一步是什么。以下是一些已在計劃內以及我們猜想的特性。

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

1. PCO是加密的PDO

我們已經知道的是會有一個抽象擴展,名為PCO,這個類似于PDO但是有密碼。

2. PHP靜態代碼分析器

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

3. 帶async and await的異步編程

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

請不要將異步編程與多線程編程混淆。PHP已經可以使用pthreads extension.執行多線程編程了。

Async and await構造最大的優勢是不再需要你處理callback hell。這意味著如果你需要等待一些異步操作,比如訪問文件系統、數據庫或遠程服務器,你只需要使用等待關鍵字,那么異步操作完成后,腳本將會繼續操作下一個語句。

Async and await構造關鍵字需要PHP有一些重要的改變,因為它需要處理內部事件循環。然而,PHP 開發者已經開始討論,實施async and await以及關鍵字的構造可能性,因為這些關鍵字應該在其他開發者開始使用之前被保存。

此外,Facebook Hack語言也支持async and await。我猜測Facebook是想為PHP程序員帶來具有async and await功能的PHP。

也許你懷疑PHP需要這些構造的必要性,但是一旦你了解他們的優點后,你就會知道他們的重要性。

很多程序員轉移到Node.js,因為Node.js支持異步編程。Node.js目前還不支持async and await關鍵字,但也只是時間問題,因為async and await也是EcmaScript 7的新特性之一,而且將來的Node.js將使用基于EcmaScript 7的JavaScript。

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

顯然這是他們對服務器最大利用化的一步,該服務器托管著Wordpress.com blogs。我不知道WordPress社區是否會接受這項目,因為有成千上萬的插件依賴于PHP。

4. 獨立的Web服務器

PHP有一個獨立的Web服務器,但不推薦給生產環境。

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

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

(六)總結

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

我們還是要祝賀所有付出時間和精力的開發者,因為是他們使PHP如此優秀,比如PHP 7。

如果你喜歡本文,或者想問一些和PHP 7新特性有關的問題并收獲回復,請在下方評論。

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

標簽: PHP
相關文章:
主站蜘蛛池模板: 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | 珠宝展柜-玻璃精品展柜-首饰珠宝展示柜定制-鸿钛展柜厂家 | 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 | 盐水蒸发器,水洗盐设备,冷凝结晶切片机,转鼓切片机,絮凝剂加药系统-无锡瑞司恩机械有限公司 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 房屋质量检测-厂房抗震鉴定-玻璃幕墙检测-房屋安全鉴定机构 | 临朐空调移机_空调维修「空调回收」临朐二手空调 | 【连江县榕彩涂料有限公司】官方网站 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 聚合氯化铝厂家-聚合氯化铝铁价格-河南洁康环保科技 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 免费B2B信息推广发布平台 - 推发网| 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 护栏打桩机-打桩机厂家-恒新重工 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 机构创新组合设计实验台_液压实验台_气动实训台-戴育教仪厂 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 净化板-洁净板-净化板价格-净化板生产厂家-山东鸿星新材料科技股份有限公司 | 美名宝起名网-在线宝宝、公司、起名平台 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 滚筒线,链板线,总装线,流水线-上海体能机电有限公司 | 苏州注册公司_苏州代理记账_苏州工商注册_苏州代办公司-恒佳财税 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | 地磅-电子地磅维修-电子吊秤-汽车衡-无人值守系统-公路治超-鹰牌衡器 | 土壤养分检测仪_肥料养分检测仪_土壤水分检测仪-山东莱恩德仪器 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 隧道烘箱_隧道烘箱生产厂家-上海冠顶专业生产烘道设备 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 |