尽管已经目前PHP语言已经建立起属于自己的软件文化,但要找到它令人抓狂的弊端也绝对不是难事。我们曾经在之前的文章中列出过该语言最让开发人员难以接受的十二大糟糕特性。
不过在过去几年当中,PHP已经发生了一系列变动——从语言本身到相关生态系统再到对开发者社区的支持——这些确实值得我们加以关注。尽管已经抛弃了PHP并投身于Python或者Ruby的用户们不太可能在短时间内被吸引回来,但已经有迹象表明确实有人在不遗余力地对PHP加以完善。下面我们就一同来了解PHP语言迎来的四大显著改进。
1. 软件包与依赖性管理
直到不久之前,对PHP软件包进行管理的惟一方式还只能是使用PEAR(即PHP扩展与应用程序库)。不过PEAR在使用难度上长期受到开发人员们的抨击,其中充斥着大量已经过时以及未受维护的软件组件。大多数更为流行的PHP框架都拥有自己的独特软件包管理系统——例如CakePHP的Bakery、CodeIgniter的Sparks等——不过它们很少或者几乎无法将PHP作为整体加以打理。
这方面最大的变化源自Composer,它吸取到了Node.js的NPM系统与Ruby的Bundler当中的优秀要素。它会以项目作为基础对软件包进行追踪,这样一来开发人员就能更轻松地弄清楚特定项目需要使用哪些软件包并以自动化方式对其加以安装。它与名为Packagist的库协同运作,该库中已经包含大量常用PHP应用、框架以及组件。
2. Hack/HHVM
PHP获得的另外两大最为显著的变化源自PHP自身体系之外——更准确地说,来自Facebook:Hack语言与HHVM(即HipHop虚拟机)。前者在继承了PHP衣钵的同时添加了一系列PHP默认状态下无法实现的功能,例如静态对象类型。后者则能够将PHP代码编译为C++代码从而加快其执行速度,最终带来将近十倍于原本的性能水平。二者都属于推出时间相对较短的创新成果,因此它们对于PHP在长远角度的影响仍然有待观察。不过它们至少显示出主流Web服务巨头确实对PHP显示出浓厚的兴趣与认真的对待态度,并因此将其作为自身选定的平台方案。
3. PHP-FIG
虽然听起来像是种解闷的小零食(Fig意为无花果),但这实际上是一个PHP框架程序组,其中汇总了PHP开发者们所打造的用于构建开发标准(包括如何以一致性方式开发自己的项目)的技术成果。来自CakePHP、Drupal、Joomla以及SugarCRM等项目的技术人员们已经正式加入该团体,并为多项日常工作提供了标准化机制——其中包括编码风格指南、库登录接口以及如何处理类的自动载入等等。
这个小组可以说是完全自愿加入而且并非正式机构,不过他们希望“随着时间的推移,其涵盖范围能够扩展到更为广泛的项目区划当中。”
4. Php项目
为PHP语言本体开发换代版本则是另一个为该语言带来全面提升的优秀思路。这个被称为Phpng的PHP开发分支当中包含诸多改进,旨在明确特定操作需要使用多少内存容量以及完成特定运行效果需要使用多少条机器指令。其中大部分工作都受到PHP供应商Zend技术公司的赞助,后者的PHP引擎被广泛用于该语言的商用安装方案当中。
当然,其中大部分改进仅仅是为了提升其性能表现而并非改变PHP语言那备受讥讽的语法特性——遗憾的是,这些问题目前仍没有得到解决的迹象。也许PHP的下一次重大革新不会像Hack那样具备颠覆性效果,而更像是JavaScript扩展方案那种能够实现原生编译效果的转译语言。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
华为软件开发云平台:“一多二全三高”能否满足企业的需求?
在2017年3月22日,华为青岛软件开发云上线大会上,华为也表示,中国的软件与信息服务业,2016年总收入达到4.9万亿,软件从业人员是570万。
-
成为Java开发禅师的7个技巧
在旧金山举行的JavaOne 2015上,Martijn Verburg抛开了他Diabolical Developer(魔鬼开发者)的身份,以禅师的面目出现,用比喻的方式向Java开发者介绍了相关的注意事项。
-
软件开发者:适应性决定你的前途
作为有15年经验的软件工程师的Bernard Mesa,加入了TCI,担当据库管理员和中间件工程师的职位,角色转变,对于Bernard Mesa是好是坏?
-
敏捷技术不仅仅应用于软件开发
如果有能够衡量敏捷是否成功的终极因素,那就是敏捷方式持续改进软件开发的外围系统。