PHP Hyperf 3.0 发布!新功能速览
本篇文章给大家带来了关于Hyperf的最新消息,其中主要给大家介绍了最新发布的Hyperf 3.0,都有哪些新功能,这些新能力都非常有意思的,感兴趣的朋友一起来看一下吧,希望对大家有帮助。
Hyperf 3.0,新时代来临
回顾
在过去的一年半时间里,Hyperf 2.2 共发布了 35
个小版本,使 Hyperf 达到了一个前所未有的高度
,这里也获得了一些不错的数据反馈。
Hyperf 在 GitHub
和 Gitee
上的关注度也得到了显著提升,分别获得了 4.9k
和 791
个 star
,整体关注度增长也很稳定。
Hyperf 框架的安装量也达到了 90万次
,每天都有约 1300次
的安装,这也表明了 Hyperf 已经广泛应用
于相关行业中并支撑了大量的系统运行。
Hyperf 组织下的有效 repo 更是达到了约 140个
(去除掉 Archive 项目后),维护工作量空前巨大,但迭代仍然高频。
感谢 Hyperf 团队全体成员的辛勤以及贡献,同时也感谢所有的 PR 贡献者,没有你们的参与也就没有今天的 Hyperf。
Thanks ALL Contributors
Hyperf 3.0 新时代
Hyperf 3.0 带来了很多非常有意思的新能力,其中一些新能力不乏是 PHP 领域里面前所未有
的,当然这些新能力也脱离不了其他开源社区的积极发展,包括但不限于 PHP
、Swoole
、Swow
、PHPMicro
、DTM
、Seata
等开源社区,也衷心希望大家在闲暇时间可以为这些开源社区也贡献出自己的一份力,搭上一砖一瓦,共建更加美好的未来。
原生注解(Attribute)
随着 PHP 8.1、8.2 的发布,给 PHP 带来了很多新的特性,其中与 Hyperf 最为相关的就是 PHP 的原生注解(Attribute)
了,Hyperf 3.0 也放弃了过往采用的基于注释解析的注解功能实现,转而采用 PHP 的原生注解,当然对应依赖的 PHP 版本,也将调整为最低要求 PHP 8.0。
我们以一个最简单的 Controller 案例来呈现新的原生注解的使用:
<?php declare(strict_types=1); namespace AppController; use HyperfHttpServerContractRequestInterface; use HyperfHttpServerAnnotationController; use HyperfHttpServerAnnotationRequestMapping; #[Controller] class IndexController { // Hyperf 会自动为此方法生成一个 /index/index 的路由,允许通过 GET 或 POST 方式请求 #[RequestMapping(path: "index", methods: "get,post")] public function index(RequestInterface $request) { // 从请求中获得 id 参数 $id = $request->input('id', 1); return (string)$id; } }
登录后复制