2019年了,PHP已不再是当年那个“设计糟糕”的语言

  • 时间:
  • 浏览:2

图片来源图虫:已授站长之家使用

声明:本文来自于微信公众号 InfoQ(ID:infoqchina),作者 | Brent,译者 | 张兰月,授权站长之家转载发布。

这篇文章不在 于外理关于 PHP 的那个永恒话题,就是想就你会了解,PHP 在那先 年的进展以及那先 值得关注的特性与发展现状。

事先,有一篇非常流行的博客文章是“PHP:那先 糟糕的设计”,第一次读到这篇博客的事先,我正在有有4个非常破旧的地方工作,外理着一些 PHP 遗留项目。这篇博客对我触动陷得,我事先以后以后结速思考否是要停止编程,换一份完全不同的工作。文章地址:

https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

幸运的是,减慢就你会换了一份工作,而 PHP 在 5.X 版本事先又有了什么都新的改进。今天,以后就你会向那先 不再使用 PHP 编程,以后陷入遗留项目的人致敬。

剧透:直到今天,PHP 仍有什么都糟糕的东西,之类一些核心功能仍然居于不一致的最好的办法 签名,仍然居于令人混淆的配置设置,仍然会有一些开发者以后知识的严重不足而原因分析分析写的代码很糟糕等等。

以后,本文以后就你会把目光集中在 PHP 以后改进的地方里边,以及怎样才能写出更加干净和易维护的 PHP 代码。我说你不让改变对 PHP 的看法,但很有以后,就你会惊讶于过去几年 PHP 的进步。

要   点

  • PHP 每年前会 推出有有4个新的版本;

  • 自 PHP 5 代事先,其性能不断提升;

  • 有框架、包和平台组成的活跃生态系统;

  • 过去几年间,PHP 添加了一些新的特性,且现在仍在持续演进;

  • 一些工具如静态分析器也越发心智心智性成熟是什么是什么 的句子期的句子图片 ,未来也将继续发展。

更新:什么都人希望以后就你会够展示一下实际代码,这是我其所饱含4个业余项目的源代码,它是用 PHP 和 Laravel 写的,另外还有有有4个是我们歌词 都歌词 在办公室负责维护的上百个 OSS 包的列表。

  • https://github.com/brendt/aggregate.stitcher.io

  • https://spatie.be/open-source/packages

回顾历史

就你会门 先快速回顾一下 PHP 的版本发布周期。现在 PHP 的版本是 7.3,预计 2019 年末将发布 PHP 7.4,7.4 事先的版本以后是 PHP 8.0。

从 5.X 版本事先,PHP 核心团队总爱 在努力每年发布有有4个新版本,以后在过去的 4 年间,一些目标总爱 完成得很好。

大致来说,每个新版本前会 用 2 年时间进行积极地支持,以后用一年进行“安全修补”工作。原先做的目的是有利于 PHP 开发者尽以后保持最新情况报告,之类每年都升级比从 5.4 直接跳到 7.0 要简单得多。

PHP 具体的版本发布情况报告,并能查看:

https://www.php.net/supported-versions.php

搞清楚 PHP 的发展历程后,我们歌词 都歌词 来谈谈我们歌词 都歌词 对 PHP 的常见误解。

PHP 的性能

在 5.X 版本时代,PHP 的性能平均而言是最好的。而在 7.0 时代,大每项的 PHP 核心都从零事先以后以后结速重写了,其性并有利于达到事先的 2-3 倍。口说无凭,幸运的是,另一个人花了几瓶时间来测量 PHP 的性能,Kinsta 提供了有有4个很好的更新列表。

从 7.0 版本以来,PHP 性能就只升不降。PHP web 应用的性能并能和一些语言 web 框架的性能相提并论,甚至更高。具体测试情况报告可查看:

https://github.com/the-benchmarker/web-frameworks

当然,PHP 框架的性能还无法超越 C 和 Rust,随前会比 Rails 或 Django 好,且并能和 ExpressJS 相媲美。

框架和生态系统

在谈到框架时,PHP 以后不再就是 WordPress 了。作为职业的 PHP 开发者,我认为,WordPress 无法从任何层面代表当今的生态系统。

总体来说,有 2 个主要的 web 应用框架以及一些相对而言较小的框架,如 Symfony 和 Laravel。除此事先,还有 Zend、Yii、Cake、 Code Igniter 等等。

就你会想了解现代 PHP 开发究竟是那先 样子,那么就并能掌握 Symfony 和 Laravel 中的有有4个,这 2 个框架前会 庞大的生态系统,所含各种包和产品。从管理面板和客户关系管理系统 (CRM) 到单独的包,从持续集成 (CI) 到性能监视工具,我们歌词 都歌词 否是数的服务如 web 套接字服务器、队列管理器、支付集成等等。

以后,那先 框架前会 为实际开发而设计的。就你会并能纯粹的内容管理,WordPress 和 CraftCMS 是理想选折 ,以后它们前会 不断优化。

衡量 PHP 生态系统目前情况报告的最好的办法 是看一看 Packagist,它是 PHP 主要的包仓库。在过去的时间里,它呈现出了指数式增长的态势,每天 250 万左右的下载量,足以说明 PHP 生态系统以后不再是过去那种弱者了。

Packagist 网站上列出了过去的包和版本数量:

除了应用框架和内容管理系统 (CMS) 以外,我们歌词 都歌词 还发现,在过去几年,异步框架也崛起了。

异步框架是指用 PHP 或其它语言编写的框架和服务器,它们并能让用户运行真正异步的 PHP。异步框架的例子包括:Swoole、Amp 和 ReactPHP。

就我们歌词 歌词 都歌词 以后进入异步领域,具有几瓶 IO 的 web 套接字和应用等东西在 PHP 世界中就变得非常重要。

另外,我们歌词 都歌词 还谈到了内部管理邮件列表,在邮件列表中,PHP 核心开发者讨论了 PHP 语言的进一步发展,之类增加 libuv 到核心之中。对于不让太熟悉 libuv 的人来说,libuv 同 Node.js 用于实现其所有异步性的库一模一样。