当前位置: 首页 > 后端技术 > PHP

?Hyperf发布v1.1.14版本和超级全局变量组件

时间:2023-03-29 14:06:13 PHP

更新内容本周的更新主要针对JSON-RPC组件做了很多优化工作,并为AMQP增加了KeepaliveIO功能。同时,我们还发布了hyperf/super-globals组件,通过安装该组件,底层会自动hook$_GET、$_POST、$_REQUEST、$_SERVER、$_COOKIE、$_SESSION等超全局变量,所以它可以保留PHP-FPM下的用法,而不会导致协程之间的数据混淆。同时我们也修复了1.1.14版本发布的部分组件的?Bug。强烈建议使用JSON-RPC、AMQP、阿里云ACM、devtool的用户更新。直接访问官方网站hyperf.io或文档hyperf.wiki以检查更新。添加#1166为AMQP添加KeepaliveIO功能;#1208添加了error.data.code值以传递JSON-RPC响应的异常代码;#1208为Hyperf\Rpc\Contract\TransporterInterface添加了recv方法;#1215新增hyperf/super-globals组件,用于适配部分不支持PSR-7的第三方包;#1219给AMQP消费者增加enable属性,通过该属性控制消费者是否与服务器一起启动;fix#1208修复JSON-RPCTCPServer下无法正确处理Exception和error的问题;#1208修复JSON-RPC不检查RequestID和ResponseID是否一致的问题;#1223修复了ConfigProvider扫描器不会扫描require-incomposer.json开发配置;#1254修复在Alpine等部分环境下执行init-proxy.sh命令时bash不存在的问题;优化#1208优化了JSON-RPC组件的部分逻辑;#1174调整Hyperf\Utils\输出异常时Parallel的格式,现在会一起打印Trace信息;#1224允许阿里云ACM配置中心的配置获取进程解析UTF-8字符,同时Worker启动后会自动获取一次配置,现在拉取的配置会传递给自定义进程;#1235AMQP生产者执行declare后释放对应连接;修改#1227,将jcchavezs/zipkin-php-opentracing依赖升级到0.1.4版本;关于HyperfHyperf是基于Swoole4.4+实现的高性能、高灵活性的PHP协程框架,内置协程服务器和大量常用组件,性能相比基于PHP-FPM的传统框架有了质的提升,同时在提供超高性能的同时,还保持着极其灵活的可扩展性,标准组件基于PSR标准实现,基于强大的依赖注入设计,保证大部分组件或类可替换、可重用。框架组件库除了常见的协程版MySQL客户端和Redis客户端,还为大家准备了协程版EloquentORM、WebSocket服务端和客户端、JSONRPC服务端和客户端、GRPC服务端和客户端Client、OpenTracing(Zipkin、Jaeger)客户端、GuzzleHTTP客户端、Elasticsearch客户端、Consul客户端、ETCD客户端、AMQP组件、Nats组件、Apollo、ETCD、Zookeeper和阿里云ACM配置中心、基于令牌的Bucket算法限流器、通用连接池、熔断器、Swagger文档生成、SwooleTracker、Blade、Smarty、Twig、Plates和ThinkTemplate视图引擎、Snowflake全局ID生成器、Prometheus监控等组件,省去协程版本实现相应的麻烦。Hyperf还提供了基于PSR-11的依赖注入容器、注解、AOP面向方面编程、基于PSR-15的中间件、自定义流程、基于PSR-14的事件管理器、Redis/RabbitMQ消息队列和自动模型缓存、PSR基于-16的缓存、Crontab二级定时任务、Session、i18n国际化、Validation表单验证等非常便捷的功能,满足丰富的技术和业务场景,开箱即用。框架的初衷虽然基于PHP语言开发的框架现在已经是百花齐放的时代,但是仍然没有看到一个优雅设计与超高性能并存的完美框架,也没有看到一个框架真正为PHP微服务铺路,这是Hyperf和团队成员的初衷,我们会为此继续投入和努力,欢迎大家加入我们一起参与开源建设。设计理念Hyperspeed+Flexibility=Hyperf,从名字上我们就把超高速和灵活性视为Hyperf的基因。针对超高速,我们基于Swoole协程,在框架设计上做了很多优化,保证了超高性能的输出。为了灵活性,我们基于Hyperf强大的依赖注入组件。组件全部基于PSR标准契约和Hyperf定义的契约,使得框架中的大部分组件或类都是可替换的。基于以上特点,Hyperf将有丰富的可能性,比如实现单体web服务、API服务、网关服务、分布式中间件、微服务架构、游戏服务器、物联网(IOT)等。完整的文档我们投入了很多在文档建设中投入大量时间,解决文档缺失带来的各种问题。文档还提供了大量示例,对新手同样友好。Hyperf官方开发文档可用于生产。我们对组件进行了大量的单元测试,以保证逻辑的正确性。目前单测1291个,断言条件共3803个。同时,保持高质量的文档。Hyperf正式对外开放(2019年6月5月20日之前),我们在正式对外开放项目之前,已经通过了严酷生产环境的考验。现在很多大型互联网公司已经将Hyperf部署到他们的生产环境中并稳定运行。官网和通讯Github??????点击Star支持我们Gitee码云????点击Star支持我们Hyperf官网Hyperf文档QQ群:862099724