v1.0.4 更新内容
本次更新涉及以下组件,主要增加了 Swoole 4.4 的支持及部分组件的功能强化,以及修复了一些 Bug
hyperf/async-queue
hyperf/command
hyperf/config
hyperf/constants
hyperf/consul
hyperf/contract
hyperf/database
hyperf/db-connection
hyperf/di
hyperf/dispatcher
hyperf/framework
hyperf/http-server
hyperf/pool
hyperf/redis
hyperf/rpc-client
hyperf/service-governance
hyperf/utils
hyperf/websocket-server
新增
- #140 支持 Swoole v4.4.0.
- #152 数据库连接在低使用率时连接池会自动释放连接
- #163 constants 组件的
AbstractConstants::__callStatic
支持自定义参数
变更
- #124
DriverInterface::push
增加$delay
参数用于设置延迟时间, 同时DriverInterface::delay
将标记为弃用的,将于 1.1 版本移除 - #125 更改
config()
函数的$default
参数的默认值为null
.
修复
- #110 #111 修复
Redis::select
无法正常切换数据库的问题 - #131 修复
middlewares
配置在Router::addGroup
下无法正常设置的问题 - #132 修复
request->hasFile
判断条件错误的问题 - #135 修复
response->redirect
在调整外链时无法正确生成链接的问题 - #139 修复 ConsulAgent 的 URI 无法自定义设置的问题
- #148 修复当
migrates
文件夹不存在时无法生成迁移模板的问题 - #169 修复处理请求时没法正确处理数组类型的参数
- #170 修复当路由不存在时 WebSocket Server 无法正确捕获异常的问题
移除
- #131 移除
Router
options
里的server
参数
关于 Hyperf
Hyperf 是基于 Swoole 4.3+
实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM
的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换
与 可复用
的。
框架组件库除了常见的协程版的 MySQL 客户端
、Redis 客户端
,还为您准备了协程版的 Eloquent ORM
、JSON RPC 服务的及客户端
、GRPC 服务端及客户端
、Zipkin (OpenTracing) 客户端
、Guzzle HTTP 客户端
、Elasticsearch 客户端
、Consul 客户端
、ETCD 客户端
、AMQP 组件
、Apollo 配置中心
、阿里云 ACM 应用配置管理
、基于令牌桶算法的限流器
、通用连接池
、熔断器
、Swagger 文档生成
等组件,省去了自己实现对应协程版本的麻烦,Hyperf 还提供了 基于 PSR-11 的依赖注入容器
、注解
、AOP 面向切面编程
、基于 PSR-15 的中间件
、自定义进程
、基于 PSR-14 的事件管理器
、Redis/RabbitMQ 消息队列
、自动模型缓存
、基于 PSR-16 的缓存
等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。
框架初衷
尽管现在基于 PHP 语言开发的框架处于一个百花争鸣的时代,但仍旧未能看到一个优雅的设计与超高性能的共存的完美框架,亦没有看到一个真正为 PHP 微服务铺路的框架,此为 Hyperf 及其团队成员的初衷,我们将持续投入并为此付出努力,也欢迎你加入我们参与开源建设。
设计理念
Hyperspeed + Flexibility = Hyperf
,从名字上我们就将 超高速
和 灵活性
作为 Hyperf 的基因。
- 对于超高速,我们基于 Swoole 协程并在框架设计上进行大量的优化以确保超高性能的输出。
- 对于灵活性,我们基于 Hyperf 强大的依赖注入组件,组件均基于 PSR 标准 的契约和由 Hyperf 定义的契约实现,达到框架内的绝大部分的组件或类都是可替换的。
基于以上的特点,Hyperf 将存在丰富的可能性,如实现 Web 服务,网关服务,分布式中间件,微服务架构,游戏服务器,物联网(IOT)等。
文档齐全
我们投入了大量的时间用于文档的建设,以解决各种因为文档缺失所带来的问题,文档上也提供了大量的示例,对新手同样友好。
生产可用
我们为组件进行了大量的单元测试以保证逻辑的正确,同时维护了高质量的文档,在 Hyperf 正式对外开放(2019年6月20日)之前,便已在一家 C轮 和一家 B轮 互联网公司上线了多个服务并以稳定的姿态完美的运行了超过半年时间,经过了严酷的生产环境的考验,我们才正式的对外开放该项目。