加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

开拓者回想:PHP 早已不是十年前的边幅

发布时间:2019-05-16 06:26:26 所属栏目:移动互联 来源:h4cd
导读:开拓者Brent宣布了一篇文章,具体先容了 2019 年的 PHP 是怎么样的。 原文地点:https://stitcher.io/blog/php-in-2019 Brent 认可 PHP 当前如故存在一些题目,好比很多焦点函数如故有纷歧致的要领署名、设置配置照旧令人狐疑,可是以他本身的开拓履素来看
副问题[/!--empirenews.page--]

开拓者 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 之后的下一个版本。

自从 5.X 期间以来,焦点团队但愿每年宣布一个新版本,在已往四年中他们乐成维护了这么一个宣布周期。凡是每个新版本城市获得官方两年时刻的起劲支持,之后有一年仅提供安详修复,其目标是鼓励 PHP 开拓职员尽也许保持更新。

开拓者回想:PHP 早已不是十年前的边幅

越发详细的宣布与维护周期可以查察 PHP 官网的先容:

  • https://www.php.net/supported-versions.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 早已不是十年前的边幅

各类版本的可用软件包的数目

开拓者回想:PHP 早已不是十年前的边幅

每月包被安装数

开拓者回想:PHP 早已不是十年前的边幅

另外,还可以看看这个 PHP 行使统计与市场定位最新数据:

  • https://www.oschina.net/news/106695/w3techs-php-report-20190515

PHP 在不绝成长,已往几年中添加了很多新特征

尽量 async 与 await 这两个呼声极高的特征还没有实现,可是 PHP 这几年新特征不绝呈现,说话自己获得了各方面的改造。

下边列出了一些存眷度较量高的 PHP 新特征:

  • Short closures

短闭包,也称为箭头函数,这是一种在 PHP 中编写较短函数的要领。将闭包转达给 array_map 或 array_filter 等函数时,它可以施展极大的浸染。

  1. // A collection of Post objects $posts = [/* … */]; 
  2.  
  3. $ids = array_map(fn($post) => $post->id, $posts); 
  • Null coalescing operator

空归并运算符,它相同于三元运算符,但左边的操纵数举动相同于 isset,而不是仅行使其布尔值。这使得此运算符对数组出格有效。它同时可在未配置变量时分派默认值。

  1. $undefined ?? 'fallback'; // 'fallback' 
  2.  
  3. $unassigned; 
  4. $unassigned ?? 'fallback'; // 'fallback' 
  5.  
  6. $assigned = 'foo'; 
  7. $assigned ?? 'fallback'; // 'foo' 
  8.  
  9. '' ?? 'fallback'; // '' 
  10. 'foo' ?? 'fallback'; // 'foo' 
  11. '0' ?? 'fallback'; // '0' 
  12. 0 ?? 'fallback'; // 0 
  13. false ?? 'fallback'; // false 
  • Traits

Trait 是一种重用代码的机制,它可以镌汰单担任的某些限定。Traits 与类组合的语义界说了低落伟大性的方法,并停止了与多重担任和 Mixins 相干的典范题目。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读