PHP面临的问题

在发展的过程中,PHP碰着的最大危急可能便是PHP 6的难产。
从2005年开始,到2010年被终止,版本6终极被放弃,而这个项目也被认为是PHP发展的最失落败的案例之一。
5年后,PHP 7.0正式上线,性能相较于之前的PHP 5.6有了大幅提升。

根据PECL开拓组成员韩天峰的发言,PHP 7在运行事理上跟5没有变革,性能提升紧张得益于Zend引擎的大幅度重写和改进。
值得把稳的是Zval的性能提升,内存管理,JIT的开源,AST的引入等等,在弘大的开拓者社群的努力之下,我们能看到的是PHP一贯在快速稳定的迭代进步当中。

狂飙php官网别再说PHP已逝世了它活得好着呢 Angular

另一个被人诟病的是Wordpress的伸缩性。
wordpress最近差不多已经成了PHP的代名词,这个个人博客软件摧枯拉朽似的霸占了大部分网站项目的份额。

图片引自websitetooltester.com,版权归原作者所有

从数据上看,wordpress还在不断的攻城略地,不出意外的话,2021年依然会是上升的一年,它可能是人类历史上最受欢迎的内容管理系统。
PHP的商业代价可以说和Wordpress有很大的关系,排名第二的Joomla仅仅是它的1/20旁边,而开拓者收入最高的Drupal份额更低。

做事器端编程措辞,PHP占比靠近80%,吊打所有其它措辞截屏自w3techs.com

根据我的调查,用wordpress开拓的网站当中流量第一的可能是纽约邮报网站(nypost.com),但是这个网站的综合数据非常普通,乃至有点惨不忍睹。

虽然wp可以通过将媒体文件放到S3上,加上load balancer和CDN,配置好多层缓存,数据库放到云上等等,不过wp自身限定(开源软件)才是真正的瓶颈。
这个留到往后逐步说。

Wordpress在AWS上的最佳实践图片引自AWS网站,版权归原作者所有

总之,wordpress上船随意马虎,但是一旦做大,可能就有一种上了贼船的觉得。
虽然可以在硬件上加大投资换性能,但是一定会有一些磕磕绊绊和解决不了的问题。

为什么要用PHP?

PHP是给创业者准备的,最好的案例可能便是Facebook。

图片引自latimes. com 2012年宣布

初创公司对劳动力本钱是非常敏感的。
我自己也见证过不少初创公司采取很重的技能栈终极失落败的案例。
比如某网友的公司做手机APP,没有利用门槛较低的Hybrid框架,而是利用了原生开拓环境,于是雇佣了OC/Swift和Java程序员,同时开拓iOS和Android平台的App,还要雇佣人为更高的有履历的人带项目。
这些工种在深圳的起薪很高,给初创公司造成了比较大的财务包袱,终极成了短命项目。

比拟Java,PHP有以下上风

作为一种阐明措辞,PHP的性能很好(和其它阐明措辞比较),同时能够兼顾安全性。
PHP程序员的人数非常多,均匀薪资相对较低。
开拓一个PHP运用比Java快得多(须要短得多的韶光)。
PHP拥有一个弘大而且生动的生态系统,内容管理系统(Wordpress, Drupal等)、电商软件(WooCommerce, Magento, Opencart, PrestaShop等)、框架(Laravel、Symfony、Zend/Laminas、Yii等等)搜罗万象。
而这些产品所拥有的子生态也非常的生动,比如Wordpress,你能免费得到大部分你想要的功能。
支配和掩护非常随意马虎,本钱也是最低的。

值得把稳的是,当项目做大之后,如果资金许可,项目一样平常都会迁移到Java或者.Net生态中去。
上面提到的Facebook乃至不厌其烦的开拓自己的PHP编译器和虚拟机,乃至重新开拓了自己的PHP版本——Hack。
FB彷佛还在用PHP,但是又彷佛没有在用PHP,由于做事器上运行的代码是编译后的C++代码。

PHP也是给小项目准备的。

个人博客,企业形象站,论坛,中小型的新闻媒体,中小电商,各种专业做事等等,都可以用PHP开源代码来轻松实现。
我玩过为数不多的其它几种措辞,论大略性,PHP完备碾压其它措辞。

小项目大概不可能配置所有的工种,比如DBA,系统管理员,运维(DevOps),QA等等。
也不可能像拿到投资的FB一样开拓了所有的功能、工具、中间件、措辞、编译器、虚拟机....(比如:HipHop/HHVM,Hack,Haystack,BigPipe,React等)。
险些只能投靠开源生态,比如依赖Wordpress和WP生态下数量弘大的模板和插件。

WP生态有很大的商业利益和代价,各种第三方的代码都能够快速迭代升级。
常日来说,每次WP升级之后,卖的最好的那些第三方软件都会非常及时地更新,你只须要轻微等几天就能够让这些软件和平台一起升级然后进行测试。
在某种程度上来说,这些第三方软件的开拓团队就像你的同事一样和你一起努力事情。

开源软件肯定是有其短板的。
比如WP,不管你的决心多么强烈,都不可以去Hack它的源代码,否则后患无穷。
你能够修正的,只能是自己开拓的那一部分(插件或者模板)。

比如WP的可伸缩性的问题,你再怎么恨得慌,也只能辞官方的论坛或者repo上面提建议,然后一直地催。
期待下一个版本能够办理数据库上的瓶颈。

不过凡事都有例外,PHP并不是不能做大项目。
比如Wikipedia便是用PHP写的,最近很盛行的即时通讯软件Slack也是,其它的大规模项目还包括:Flickr, MailChimp, Esty等等。

PHP依然强大且康健

怎么说呢,虽然PHP险些霸占了网站的天下,但是由于有数量弘大的支持者和卓越的掩护者,PHP依然在不断的迭代进步着。

PHP group在PHP6项目失落败之后,显然走出了泥潭,用一种非常紧凑的节奏不断推出新版本。
目前PHP8已经正式上线,推出了两种JIT,性能相较于PHP7又有了不小的进步。

不断学习,不断进步,这意味着PHP依然有着强大的生命力和无限的可能性。

Laravel框架值得每一个PHP开拓者去学习和节制,它的地位有点像Java生态中的Spring。

我是从Laravel 4.2开始学的,然后就看着它一起狂飙,版本升到了现在的8,在2021年年末,V9又要上线了。
PHP的天下里不只有WP,还有Laravel。
Laravel Vapor也遇上了最近的一波Serverless浪潮,在AWS上有着数量弘大的用户。

Swoft/Swoole 能够让你的微做事项目摆脱PHP-FPM的束缚,它有着类似Go措辞的协程操作办法,让你的PHP代码常住内存。
它参考了Spring Cloud的框架的诸多优点,让PHP在高性能微做事领域能够与其它措辞一较高下。

作为一个霸占8成江山的网络编程措辞,PHP还在努力自我提升,并且展现出一种发达向上的康健气候,要说PHP快塌台了,肯定没人信或者说骇人听闻。
精通Drupal开拓的高等PHP程序员,在美国可以拿到靠近100美元的时薪,合一个小时挣近700公民币。
同时,Magento高等程序员的人为也很可不雅观。

其余,PHP是一种入门随意马虎,但是想要做到精通却很难的措辞。
接下来,我会花韶光用一种比较好的学习办法重新学习一遍PHP7,欢迎和我一起学习!