晓查 乾明 丽翔 凹非寺
物理位 报导 | 社会公众号 QbitAI当今社会,假如你关上浏览器,搜寻关键字“PHP落伍”,能找出714亿个有关结论。
那些结论当中,鲜有有2016年、2018年的结论,说PHP已经落伍了。
也已2019年,那个曾自称“当今世界上最合适的词汇”PHP,情形怎样?
一名名为Brent的合作开发人员老赵,写了一则网志该文,如是说了PHP在2019年的情形。
他说,那时的PHP每月单厢积极主动合作开发新版本,从2004年正式发布PHP 5年来操控性早已提高了两到五倍。
所以,有很活耀的生态系,里头有各式各样的架构、包和网络平台。往后一两年,PHP也添了许多新功能,词汇急速产业发展之类。
他期望,我们都舍弃仇恨,切身感受下那时的PHP。
网志该文被po到HackerNews上后,一会就有700多关注度,引发近400条探讨。
没人则表示,他们却是不讨厌PHP的标识符和构架,即使标识符极难看,却是紧紧围绕着typename构筑的,不难写作。
也没人给点了赞,说从生态系、操控性、词汇这类上上看,PHP这一两年的产业发展确实极好。
那么,PHP那时到底怎样呢?来一起看看。
PHP的操控性:7.0版本提高两到五倍
那时,PHP早已更新到了7.3版本,2019年底将会跟新7.4版本,后会升级到8.0版本。
老赵则表示,PHP5.0版本在2004年正式发布的时候,它的操控性就早已达到了平均水平。在升级到7.0版本的时候,又从头开始重写了一遍核心部分,运行WordPress 5.0时,操控性提高了两到五倍。
在Web应用程序中,PHP与其他词汇也有可比性,在某些情形下操控性表现还更好。
虽然与C和Rust相比,PHP却是略逊一筹,但比Rails或Django要好得多,操控性也比得上ExpressJS。
架构和生态系:不仅仅是WordPress
在HackerNews的探讨中,许多人都提到,即使WordPress的存在才让PHP有了些存在感。
但老赵在网志中说,WordPress绝不能代表PHP当前的生态系。
一般来说,PHP中有两个主要的Web应用程序架构,分别是Symfony和Laravel。那时使用PHP做合作开发,基本上单厢选择其中的一个。
这两个架构背后,都有一个庞大的包和产品生态系,从管理面板和CRM到独立软件包,分析工具,支付集成之类。
虽然那些架构适用于实际合作开发,但假如只需要进行内容管理,WordPress和CraftCMS是更好的选择,所以它们也会进一步改进。
此外,衡量PHP生态系当前状态的一种方法是看Packagist中的情形,这是PHP的主要软件包的存储库。
PHP主要软件包近年来已呈指数级增长,每天下载量达到2500万次。这足以证明,PHP生态系早已远非昔日可比。
除了应用程序架构和CMS之外,往后一两年PHP中的异步架构也开始兴起,比如Swoole、Amp和ReactPHP之类,都是用PHP或其他词汇编写的架构和服务器,能够让用户运行真正的异步PHP。
那时, PHP早已进入了异步当今世界,像WebSocket和具有大量输入输出的应用程序之类的东西,早已开始与PHP当今世界有关了。
词汇这类
尽管async和await那时还不可用,但在往后的一两年里,PHP词汇这类早已做了许多改进。下面是一个不完全的PHP新特性列表:
短闭包
Null合并运算符
Traits标识符复用机制
类型化属性
展开运算符
JIT编译器
外部函数接口
匿名类
返回类型声明
现代加密库
生成器
更多
当谈到PHP词汇特性的时候,让我们也上看看今天PHP词汇是怎样产业发展的。PHP有一个活耀的志愿者核心团队推动词汇的产业发展,向社区征求意见(RFC,Request for Comments)。
接下来,那些RFC在“内部”邮件列表中探讨,也可以在线浏览。在添加新的功能之前,必须进行投票。只有至少占2/3多数的RFC才被允许进入核心。
大约有100人允许参与投票。核心团队的成员当然有权投票,即使他们必须维护标识符基础。
除此之外,还有一群人是从PHP社区中单独挑选出来的。那些人包括PHP文档的维护者,整个PHP项目的贡献者,以及PHP社区中杰出的合作开发人员。
虽然大部分核心合作开发是在自愿的基础上完成的,但是核心PHP合作开发人员之一Nikita Popov最近加入了软件公司JetBrains,全职从事编程词汇工作。
另一个例子是最近决定投资Zend架构的Linux基金会。像这样的雇佣方式和收购确保了PHP未来产业发展的稳定性。
静态分析工具
往后一两年里,紧紧围绕PHP这类的工具早已有所增加,比如由Vimeo合作开发的静态分析工具Psalm之类。
那些工具能够对你的PHP标识符进行静态分析,并报告其中出现的错误以及可能会出现的错误。
尽管PHP还没有被编译,不允许使用自定义语法,但在某种程度上,它们提供的功能能够媲美TypeScript。
这意味着,那时的PHP合作开发者要依赖文档块。但PHP的原始创建者Rasmus Lerdorf,早已明确提到了要在内核中添加静态分析引擎。这一想法的潜力很大,但任务同样艰巨。
在传输方面,受到JavaScript社区的启发,PHP合作开发者社区早已在努力的拓展PHP语法。比如一个名为Pre的项目,可以把新的PHP语法转换成普通的PHP标识符。
那个想法虽然早已在JavaScript当今世界中得到了证明,但是只有在提供了适当的集成合作开发环境和静态分析支持的情形下,它才能在PHP中发挥作用。
尽管这是一个非常有趣的想法,但是在能够称之为“主流”之前,它还有很长的路要走。
PHP早已落伍了吗?
再次把话题回到开头提出的问题上,PHP早已落伍了吗?
除了上面的一些动态,还有一份报告可以参考。
去年10月,GitHub正式发布2018年的年度报告。在热门编程词汇中,PHP排名第四。
虽然比不上JavaScript、Java,后来又被Python超过,但依旧比C++、C#等词汇关注度要高。
— 完 —
小程序|get更多AI学习干货
加入社群
物理位AI社群开始招募啦,物理位社群分:AI探讨群、AI+行业群、AI技术群;
核,审核较严,敬请谅解)
物理位 QbitAI · 头条号签约作者
վᴗ ի 追踪AI技术和产品新动态
讨厌就点「在看」吧 !