欢迎光临合肥小程序开发服务商青松网络 网站地图 | 联系我们
当前位置:主页 > 新闻动态>>  公司资讯

青松网络

常见问题
开发案例
关于我们
联系我们

联系我们

  服务热线

0551-63658925

手机: 15856926331

  公司地址

合肥市经开区港澳广场购物中心A座601室

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

更新时间:2019-05-29 09:49:44点击次数:字号:T|T
声明:本文来自于微信公众号InfoQ(ID:infoqchina),作者|Brent,译者|张兰月,授权站长之家转载发布。 这篇文章不在于解决关于PHP的那个永恒话题,而是想让你了解,PHP在这些年...

声明:本文来自于微信公众号 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 主要的包仓库。在过去的时间里,它呈现出了指数式增长的态势,每天 2500 万左右的下载量,足以说明 PHP 生态系统已经不再是过去那种弱者了。

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

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

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

由于我们已经进入异步领域,具有大量 IO 的 web 套接字和应用等东西在 PHP 世界中就变得非常重要。

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


著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:站长之家编辑
链接:https://www.chinaz.com/news/2019/0529/1019815.shtml
来源:站长之家
(编辑:admin)
网站首页 小程序开发 微信开发 微信商城 朋友圈广告 网站设计 关于青松

[email protected] http://www.qswpt.com 合肥青松网络科技有限公司 网站备案号:皖ICP备14020320号-2

电话:0551-63658925 / 15856926331   地址:合肥市经开区港澳广场购物中心A座601室  

小程序公众号二维码