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

  • 时间:
  • 浏览:0
  • 来源:5分快3官网-5分快3平台_5分快乐8网投平台

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

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

这篇文章找不到于补救关于 PHP 的那个永恒话题,本来 想你都必须了解,PHP 在那此年的进展以及那此值得关注的特性与发展现状。

时候,有一篇非常流行的博客文章是“PHP:那此糟糕的设计”,第一次读到这篇博客的时候,我正在另三个白多非常破旧的地方工作,补救着这个 PHP 遗留项目。这篇博客对我触动深会,我现在结束了了思考是否是要停止编程,换一份全部不同的工作。文章地址:

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

幸运的是,调慢你都必须换了一份工作,而 PHP 在 5.X 版本时候又有了本来 新的改进。今天,我要向那此不再使用 PHP 编程,是因为陷入遗留项目的人致敬。

剧透:直到今天,PHP 仍有本来 糟糕的东西,例如这个核心功能仍然居于不一致的最好的土办法签名,仍然居于令人混淆的配置设置,仍然会有这个开发者是因为知识的居于问题而是因为写的代码很糟糕等等。

假如有一天,本文我要把目光集中在 PHP 是因为改进的地方顶端,以及怎么写出更加干净和易维护的 PHP 代码。我知道你你太久改变对 PHP 的看法,但很有是因为,你都必须惊讶于过去几年 PHP 的进步。

要   点

  • PHP 每年总要推出另三个白多新的版本;

  • 自 PHP 5 代时候,其性能不断提升;

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

  • 过去几年间,PHP 上加了这个新的特性,且现在仍在持续演进;

  • 这个工具如静态分析器也越发心智心智成熟期图片 图片 的句子期期,未来也将继续发展。

更新:本来 人希望我要够展示一下实际代码,这是我其中另三个白多业余项目的源代码,它是用 PHP 和 Laravel 写的,另外还有另三个白多是亲戚你都必须们 在办公室负责维护的上百个 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 年间,这个目标老要完成得很好。

大致来说,每个新版本总要用 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 提供了另三个白多很好的更新列表。

从 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 中的另三个白多,这 2 个框架总要庞大的生态系统,涵盖各种包和产品。从管理面板和客户关系管理系统 (CRM) 到单独的包,从持续集成 (CI) 到性能监视工具,亲戚你都必须们 是否是数的服务如 web 套接字服务器、队列管理器、支付集成等等。

假如有一天,那此框架总要为实际开发而设计的。是因为你必须纯粹的内容管理,WordPress 和 CraftCMS 是理想确定,假如有一天它们总要不断优化。

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

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

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

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

是因为亲戚你都必须们 是因为进入异步领域,具有少量 IO 的 web 套接字和应用等东西在 PHP 世界中就变得非常重要。

另外,亲戚你都必须们 还谈到了内部内部结构邮件列表,在邮件列表中,PHP 核心开发者讨论了 PHP 语言的进一步发展,例如增加 libuv 到核心之中。对于蒸不烂 悉 libuv 的人来说,libuv 同 Node.js 用于实现其所有异步性的库一模一样。