开发者 Brent 发布了一篇文章,详细引见了 2019 年的 PHP 是怎样样的。
原文地址:https://stitcher.io/blog/php-in-2019
Brent 供认 PHP 以后依然存在一些成绩,比多么多中心函数依然有不分歧的办法签名、配置设置还是令人困惑,但是以他本人的开发阅历来看,他以为 PHP 是 Web 开发的绝佳选择,运用 PHP,他可以创立牢靠、可维护和高质量的运用,并且本人与客户对最终结果都称心。
文章中 Brent 关注于 PHP 这些年来开展得好的一面,他经过几下几点,阐明“PHP 不再是十年前那一门蹩脚的言语了”:
PHP 正在积极开发,每年都会发布新版本
PHP 5 之后功用在不断提高
有十分生动的框架、包战争台组成的言语生态
PHP 在不断开展,过去几年中添加了许多新功用
各种开发工具在过去几年中曾经成熟,并且保持增长
PHP 正在积极开发,每年都会发布新版本
以后 PHP 版本是去年 12 月份发布的 7.3,7.4 估量在往年年底发布,而 PHP 8.0 将是 7.4 之后的下一个版本。
Branch Initial Release Active Support Until Security Support Until自从 5.X 时代以来,中心团队希望每年发布一个新版本,在过去四年中他们成功维护了这么一个发布周期。通常每个新版本都会失掉官方两年时间的积极支持,之后有一年仅提供安全修复,其目的是鼓舞 PHP 开发人员尽能够保持更新。
愈加详细的发布与维护周期可以查看 PHP 官网的引见:
看到上边这个表,你能够会发现版本号从 5 跳到了 7,那 PHP 6 去哪里了?
其实早在 2005 年,PHP 社区就发起了 PHP 6,但由于完成 Unicode 面临的困难太大,项目最终流产,PHP 官方没有发布 PHP 6 GA,并且在 2010 年将 PHP 6 取消。虽然 PHP 6 项目取消了,但其少量已完成功用集成到了 PHP 5.X 中,包括 OOP 方面的改良,使得 PHP 从面向进程跨越到面向对象。
PHP 6 被取消了,但是之前对这个主要版本的研发都是以 PHP 6 的名义停止的,所以许多参考材料与书籍都是用“PHP 6”来指代该版本。官方担忧这在保持 PHP 6 之后会惹起混乱,于是干脆不运用 PHP 6.X 版本号,直接从 5 跳到 7。
概略可以查看官方阐明:https://wiki.php.net/rfc/php6
PHP 5 之后功用在不断提高
PHP 7.0 中,PHP 中心部分完全重写,带来了最新的 Zend 引擎,使得 PHP 功用提升了两到三倍。
作者援用了 https://kinsta.com/blog/php-benchmarks 的基准测试来阐明这一点,指出自 7.0 以来,PHP 功用不断在提升,PHP Web 运用与其它言语的 Web 框架相比在一些状况下功用好很多。但他也表示:“当然 PHP 框架不会胜过 C 与 Rust,但比 Rails 或 Django 好得多,与 ExpressJS 相当。”
有十分生动的框架、包战争台组成的言语生态
提到 PHP 的框架,不得不说 WordPress,但是作者表示 WordPress 相对不代表以后的 PHP 生态:“PHP 框架再也不只仅只要 WordPress 了”。
以后 PHP 中有两个主要的 Web 运用开发框架:Symfony 与 Laravel,还有 Zend、Yii、Cake 与 Code Igniter 这些,此外还有不少较小的框架。
Symfony 与 Laravel 都拥有庞大的包和软件生态,包括 admin 面板和 CRM、独立软件包、CI、剖析器、Web socket 效劳器、队列管理器与支付集成等。
此外,近几年 PHP 异步框架也兴起了,Swoole、Amp 与 ReactPHP 是其中的佼佼者,它们是用 PHP 或其它言语编写的框架和效劳器,用来运转真正的异步 PHP。
作者以为权衡 PHP 生态以后状况的一种办法是查看 Packagist 这个 PHP 主要软件包存储库的数据。经过以下趋向图,可以发现软件包数量呈指数增长,并且以后录入软件包有 223 217 个,总的安装量到达了 14 827 204 847,PHP 生态已不再像以前那么弱小。
各种版本的可用软件包的数量
每月包被安装数
此外,还可以看看这个 PHP 运用统计与市场定位最新数据:
https://www.oschina.net/news/106695/w3techs-php-report-20190515
PHP 在不断开展,过去几年中添加了许多新特性
虽然 async 与 await 这两个呼声极高的特性还没有完成,但是 PHP 这几年新特性不断出现,言语本身失掉了各方面的改良。
下边列出了一些关注度比较高的 PHP 新特性:
Short closures
短闭包,也称为箭头函数,这是一种在 PHP 中编写较短函数的办法。将闭包传递给 array_map 或 array_filter 等函数时,它可以发扬极大的作用。
// A collection of Post objects $posts = [/* … */];
(责任编辑:admin)