vlambda博客
学习文章列表

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] 注解 CacheableCachePut 增加最大超时时间偏移量配置。
  • #1204 [7] database 组件增加了 insertOrIgnore 方法。
  • #1216 [8] RenderInterface::render() 方法的 $data 参数,添加了默认值。
  • #1221 [9] swoole-tracker 组件添加了 traceIdspanId

修复

  • #1175 [10] 修复 Hyperf\Utils\Collection::random 当传入 null 时,无法正常工作的 BUG
  • #1199 [11] 修复使用 Task 注解时,参数无法使用动态变量的 BUG
  • #1200 [12] 修复 metric 组件,请求路径会携带参数的 BUG
  • #1210 [13] 修复验证器规则 size 无法作用于 integerBUG

优化

  • #1211 [14] 自动将项目名转化为 prometheus 的规范命名。

修改

  • #1217 [15]zendframework/zend-mime 替换为 laminas/laminas-mine

关于 Hyperf

Hyperf 是基于 Swoole 4.4+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准[16] 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换可复用 的。

框架组件库除了常见的协程版的 MySQL 客户端Redis 客户端,还为您准备了协程版的 Eloquent ORMWebSocket 服务端及客户端JSON RPC 服务端及客户端GRPC 服务端及客户端OpenTracing(Zipkin, Jaeger) 客户端Guzzle HTTP 客户端Elasticsearch 客户端Consul 客户端ETCD 客户端AMQP 组件Nats 组件Apollo、ETCD、Zookeeper 和阿里云 ACM 的配置中心基于令牌桶算法的限流器通用连接池熔断器Swagger 文档生成Swoole TrackerBlade、Smarty、Twig、Plates 和 ThinkTemplate 视图引擎Snowflake 全局ID生成器Prometheus 监控 等组件,省去了自己实现对应协程版本的麻烦。

Hyperf 还提供了 基于 PSR-11 的依赖注入容器注解AOP 面向切面编程基于 PSR-15 的中间件自定义进程基于 PSR-14 的事件管理器Redis/RabbitMQ 消息队列自动模型缓存基于 PSR-16 的缓存Crontab 秒级定时任务Sessioni18n 国际化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.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