Hyperf 发布 v1.1.13 版本 | 企业级的 PHP 微服务云原生协程框架
更新内容
本周更新主要为一个 Bugfix 版本,我们修复了一些组件的 🐛Bug 并新增了一部分特性,发布于 1.1.13[1] 版,建议使用 1.1 的用户更新。
直接访问 官网 hyperf.io[2] 或 文档 hyperf.wiki[3] 查看更新内容。
新增
-
#1137 [4] constants
组件增加国际化支持。 -
#1165 [5] Hyperf\HttpServer\Contract\RequestInterface
新增route
方法。 -
#1195 [6] 注解 Cacheable
和CachePut
增加最大超时时间偏移量配置。 -
#1204 [7] database
组件增加了insertOrIgnore
方法。 -
#1216 [8] RenderInterface::render()
方法的$data
参数,添加了默认值。 -
#1221 [9] swoole-tracker
组件添加了traceId
和spanId
。
修复
-
#1175 [10] 修复 Hyperf\Utils\Collection::random
当传入null
时,无法正常工作的BUG
。 -
#1199 [11] 修复使用 Task
注解时,参数无法使用动态变量的BUG
。 -
#1200 [12] 修复 metric
组件,请求路径会携带参数的BUG
。 -
#1210 [13] 修复验证器规则 size
无法作用于integer
的BUG
。
优化
-
#1211 [14] 自动将项目名转化为 prometheus
的规范命名。
修改
-
#1217 [15] 将 zendframework/zend-mime
替换为laminas/laminas-mine
。
关于 Hyperf
Hyperf 是基于 Swoole 4.4+
实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM
的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准[16] 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换
与 可复用
的。
框架组件库除了常见的协程版的 MySQL 客户端
、Redis 客户端
,还为您准备了协程版的 Eloquent ORM
、WebSocket 服务端及客户端
、JSON RPC 服务端及客户端
、GRPC 服务端及客户端
、OpenTracing(Zipkin, Jaeger) 客户端
、Guzzle HTTP 客户端
、Elasticsearch 客户端
、Consul 客户端
、ETCD 客户端
、AMQP 组件
、Nats 组件
、Apollo、ETCD、Zookeeper 和阿里云 ACM 的配置中心
、基于令牌桶算法的限流器
、通用连接池
、熔断器
、Swagger 文档生成
、Swoole Tracker
、Blade、Smarty、Twig、Plates 和 ThinkTemplate 视图引擎
、Snowflake 全局ID生成器
、Prometheus 监控
等组件,省去了自己实现对应协程版本的麻烦。
Hyperf 还提供了 基于 PSR-11 的依赖注入容器
、注解
、AOP 面向切面编程
、基于 PSR-15 的中间件
、自定义进程
、基于 PSR-14 的事件管理器
、Redis/RabbitMQ 消息队列
、自动模型缓存
、基于 PSR-16 的缓存
、Crontab 秒级定时任务
、Session
、i18n 国际化
、Validation 表单验证
等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。
框架初衷
设计理念
Hyperspeed + Flexibility = Hyperf
,从名字上我们就将 超高速
和 灵活性
作为 Hyperf 的基因。
-
对于超高速,我们基于 Swoole 协程并在框架设计上进行大量的优化以确保超高性能的输出。 -
对于灵活性,我们基于 Hyperf 强大的依赖注入组件,组件均基于 PSR 标准 [17] 的契约和由 Hyperf 定义的契约实现,达到框架内的绝大部分的组件或类都是可替换的。
基于以上的特点,Hyperf 将存在丰富的可能性,如实现 单体 Web 服务,API 服务,网关服务,分布式中间件,微服务架构,游戏服务器,物联网(IOT)等。
文档齐全
我们投入了大量的时间用于文档的建设,以解决各种因为文档缺失所带来的问题,文档上也提供了大量的示例,对新手同样友好。
Hyperf 官方开发文档[18]
生产可用
我们为组件进行了大量的单元测试以保证逻辑的正确,目前存在 1273
个单测共 3754
个断言条件,同时维护了高质量的文档,在 Hyperf 正式对外开放(2019 年 6 月 20 日)之前,便已经过了严酷的生产环境的考验,我们才正式的对外开放该项目,现在已有很多的大型互联网企业都已将 Hyperf 部署到了自己的生产环境上并稳定运行。
官网及交流
Github[19] 👈👈👈👈👈 点 Star 支持我们
Gitee 码云[20] 👈👈👈👈👈 点 Star 支持我们
Hyperf 官网[21]
Hyperf 文档[22]
QQ 群: 862099724
参考资料
1.1.13: https://github.com/hyperf/hyperf/releases/tag/v1.1.13
[2]hyperf.io: https://hyperf.io
[3]hyperf.wiki: https://hyperf.wiki
[4]#1137: https://github.com/hyperf/hyperf/pull/1137
[5]#1165: https://github.com/hyperf/hyperf/pull/1165
[6]#1195: https://github.com/hyperf/hyperf/pull/1195
[7]#1204: https://github.com/hyperf/hyperf/pull/1204
[8]#1216: https://github.com/hyperf/hyperf/pull/1216
[9]#1221: https://github.com/hyperf/hyperf/pull/1221
[10]#1175: https://github.com/hyperf/hyperf/pull/1175
[11]#1199: https://github.com/hyperf/hyperf/pull/1199
[12]#1200: https://github.com/hyperf/hyperf/pull/1200
[13]#1210: https://github.com/hyperf/hyperf/pull/1210
[14]#1211: https://github.com/hyperf/hyperf/pull/1211
[15]#1217: https://github.com/hyperf/hyperf/pull/1217
[16]PSR 标准: https://www.php-fig.org/psr
[17]PSR 标准: https://www.php-fig.org/psr
[18]Hyperf 官方开发文档: https://hyperf.wiki
[19]Github: https://github.com/hyperf/hyperf
[20]Gitee 码云: https://gitee.com/hyperf/hyperf
[21]Hyperf 官网: https://hyperf.io
[22]Hyperf 文档: https://hyperf.wiki