php网站内容管理系统(搞清楚PHP的发展历程后,谈谈大家对PHP常见误解 )

优采云 发布时间: 2022-02-03 18:10

  php网站内容管理系统(搞清楚PHP的发展历程后,谈谈大家对PHP常见误解

)

  现在我们了解了 PHP 的历史,让我们来谈谈关于 PHP 的常见误解。

  PHP 性能

  在 5.X 版本时代,PHP 的平均性能是最好的。在 7.0 时代,大部分 PHP 内核都是从零开始重写的,性能比以前快了 2-3 倍。没有口口相传,幸运的是有人花了很多时间来衡量 PHP 性能,而 Kinsta 有一个很好的更新列表。

  从 7.0 开始,PHP 性能只得到了提升。PHP Web 应用程序的性能与其他语言 Web 框架的性能相当,甚至更高。具体测试情况可查看:

  当然,PHP 框架无法超越 C 和 Rust,但它们比 Rails 或 Django 更好,并且可以与 ExpressJS 媲美。

  框架和生态系统

  说到框架,PHP 不再只是 WordPress。作为一名专业的 PHP 开发人员,我认为 WordPress 无论如何都不能代表当今的生态系统。

  总体而言,有 2 个主要的 Web 应用程序框架和一些相对较小的框架,如 Symfony 和 Laravel。除此之外,还有 Zend、Yii、Cake、Code Igniter 等等。

  如果你想了解现代 PHP 开发的真正面目,那么你需要掌握 Symfony 和 Laravel 中的一种,它们都拥有各种包和产品的庞大生态系统。从管理面板和客户关系管理系统 (CRM) 到单个软件包,从持续集成 (CI) 到性能监控工具,我们拥有无数服务,例如 Web 套接字服务器、队列管理器、支付集成等等。

  但是,这些框架是为实际开发而设计的。如果您需要纯粹的内容管理,WordPress 和 Craftcms 是理想的选择,而且它们会越来越好。

  衡量 PHP 生态系统当前状态的一种方法是查看主要的 PHP 包存储库 Packagist。在过去的一段时间里,它呈现出指数级的增长趋势,每天的下载量约为 2500 万次,这足以表明 PHP 生态系统不再像以前那样软弱无力。

  Packagist 网站 列出了过去的包和版本号:

  

  除了应用程序框架和内容管理系统 (cms),我们还看到过去几年异步框架的兴起。

  异步框架是用 PHP 或其他语言编写的允许用户运行真正异步 PHP 的框架和服务器。异步框架的示例包括:Swoole、Amp 和 ReactPHP。

  随着我们进入异步领域,诸如 web 套接字和具有大量 IO 的应用程序之类的东西在 PHP 世界中变得非常重要。

  此外,人们还谈到了内部邮件列表,其中 PHP 核心开发人员讨论了 PHP 语言的进一步发展,例如将 libuv 添加到核心。对于那些不熟悉 libuv 的人来说,libuv 与 Node.js 用于实现其所有异步的库完全相同。

  语言本身

  尽管 async 和 await 尚不可用,但 PHP 在过去几年中经历了许多改进,以下是 PHP 新功能的非详尽列表:

  虽然我们的话题是PHP的语言特性,但我觉得还是有必要谈谈PHP语言的开发过程。虽然允许社区提出 RFC,但有一个活跃的志愿者核心团队推动 PHP 向前发展。在添加新的语言功能之前,需要进行投票。只有获得 2/3 多数票的 RFC 才能被添加到核心中。

  大约 100 人可以投票,但您不需要为每个 RFC 投票。核心团队的成员无疑能够投票,因为他们必须维护代码库。除了他们之外,还有一群人是从 PHP 社区中单独挑选出来的,包括 PHP 文件的维护者、整个 PHP 项目的贡献者以及 PHP 社区中地位较高的开发人员。

  虽然大多数核心开发是由志愿者完成的,但核心 PHP 开发人员之一 Nikita Popov 最近被 JetBrains 聘请全职从事该语言的工作。另一个例子是 Linux 基金会决定投资 Zend 框架。这些雇佣和收购确保了未来 PHP 开发的稳定性。

  工具

  除了核心本身,我们也见证了过去几年工具的成长。我首先想到的是静态分析器,比如 Vimeo 发明的 Psalm,以及 Phan 和 PHPStan。

  这些工具可以静态分析 PHP 代码并报告拼写错误、可能的错误等。在某些方面,它们提供了与 TypeScript 相当的功能,但 PHP 目前还没有被转译,因此它不支持自定义语法。

  虽然这意味着我们不得不依赖文档块,但 PHP 的原创发明者 Rasmus Lerdorf 提出了在核心中添加静态分析引擎的想法。这个想法很有潜力,但工作量也不小。

  说到转译,受 JavaScript 社区的启发,有很多尝试将 PHP 语法扩展到用户空间。一个名为 Pre 的项目就是这样做的:它支持重新编译为普通 PHP 代码的新 PHP 语法。

  虽然这个想法已经在 J​​avaScript 中实现,但只有在提供适当的集成开发环境 (IDE) 和静态分析支持的情况下,它才能在 PHP 中工作。这个想法很有趣,但必须提炼才能成为“主流”。

  结束语

  尽管 PHP 有许多缺点和遗留问题,但我可以自信地说我喜欢使用它。以我的经验,它创建了可靠、可维护和高质量的软件。如果使用得当,PHP 是 Web 开发的绝佳选择。

  英文原版

  复活节彩蛋一

  新浪微博是国内使用PHP语言的代表之一。前新浪微博首席架构师惠新臣是PHP开发团队的核心成员。2016年InfoQ编辑邀请新浪微博分享新浪微博的PHP 7升级实践和选型思路。文章虽然年代比较久远,但其背后的理念和实用细节还是值得借鉴的。有兴趣的同学可以在InfoQ公众号对话框回复关键词:PHP获取文章的详细信息。

  请在InfoQ公众号对话框回复关键词,留言区回复收不到!复活节彩蛋二

  QCon全球软件开发大会广州站如火如荼。我们为InfoQ读者整理了会议PPT,回复关键词:PPT,可以下载!

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线