Hyperf v1.0.12 发布,企业级的 PHP 微服务协程框架

栏目: 软件资讯 · 发布时间: 5年前

内容简介:更新内容 本周更新主要为协程上下文增加了一个很好用的 override 方法,同时为 Logger 配置增加了多个 Handler 的配置形式,同时修复了一些其它组件的 Bug:bug:,发布于 1.0.12 版,建议使用到 GRPC、WebSocket 和...

更新内容

本周更新主要为协程上下文增加了一个很好用的 override 方法,同时为 Logger 配置增加了多个 Handler 的配置形式,同时修复了一些其它组件的 Bug????,发布于 1.0.12 版,建议使用到 GRPCWebSocket文件上传 的用户更新。   

相关组件的文档可通过上面的超链接进入查看,或直接访问 官网 https://hyperf.io 或 文档 https://doc.hyperf.io 查看。

Hyperf\Utils\Context::override() 的使用方法

<?php
use Hyperf\HttpServer\Contract\RequestInterface;
use Hyperf\Utils\Context;

// 从协程上下文取出 $request 对象并设置 key 为 foo 的 Header,然后再保存到协程上下文中
$request = Context::override(RequestInterface::class, function (RequestInterface $request) {
    return $request->withAddedHeader('foo', 'bar');
})`

新增

  • #405 增加 Hyperf\Utils\Context::override() 方法,现在你可以通过 override 方法获取某些协程上下文的值并修改覆盖它;
  • #415 对 Logger 的配置文件增加多个 Handler 的配置支持;

变更

  • #431 移除了 Hyperf\GrpcClient\GrpcClient::openStream() 的第 3 个参数,这个参数不会影响实际使用;

修复

  • #414 修复 Hyperf\WebSockerServer\Exception\Handler\WebSocketExceptionHandler 内的变量名称错误的问题;
  • #424 修复 Guzzle 在使用 Hyperf\Guzzle\CoroutineHandler 时配置 proxy 参数时不支持数组传值的问题;
  • #430 修复 Hyperf\HttpServer\Request::file() 当以一个 Name 上传多个文件时,返回格式不正确的问题;
  • #431 修复 GRPC Client 的 Request 对象在发送 Force-Close 请求时缺少参数的问题;

弃用标记

  • #425 标记 Hyperf\HttpServer\HttpServerFactory, Hyperf\JsonRpc\HttpServerFactory, Hyperf\JsonRpc\TcpServerFactory@deprecated 状态, 这 3 个类将在 v1.1 移除;

关于 Hyperf

Hyperf 是基于 Swoole 4.3+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换可复用 的。     框架组件库除了常见的协程版的 MySQL 客户端Redis 客户端,还为您准备了协程版的 Eloquent ORMWebSocket 服务端及客户端JSON RPC 服务端及客户端GRPC 服务端及客户端Zipkin (OpenTracing) 客户端Guzzle HTTP 客户端Elasticsearch 客户端Consul 客户端ETCD 客户端AMQP 组件Apollo 配置中心阿里云 ACM 应用配置管理ETCD 配置中心基于令牌桶算法的限流器通用连接池熔断器Swagger 文档生成Swoole Enterprise 企业版Blade 和 Smarty 视图引擎 等组件,省去了自己实现对应协程版本的麻烦。

Hyperf 还提供了 基于 PSR-11 的依赖注入容器注解AOP 面向切面编程基于 PSR-15 的中间件自定义进程基于 PSR-14 的事件管理器Redis/RabbitMQ 消息队列自动模型缓存基于 PSR-16 的缓存Crontab 定时任务 等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。

框架初衷

尽管现在基于 PHP 语言开发的框架处于一个百花争鸣的时代,但仍旧未能看到一个优雅的设计与超高性能的共存的完美框架,亦没有看到一个真正为 PHP 微服务铺路的框架,此为 Hyperf 及其团队成员的初衷,我们将持续投入并为此付出努力,也欢迎你加入我们参与开源建设。

设计理念

Hyperspeed + Flexibility = Hyperf,从名字上我们就将 超高速灵活性 作为 Hyperf 的基因。

  • 对于超高速,我们基于 Swoole 协程并在框架设计上进行大量的优化以确保超高性能的输出。
  • 对于灵活性,我们基于 Hyperf 强大的依赖注入组件,组件均基于 PSR 标准 的契约和由 Hyperf 定义的契约实现,达到框架内的绝大部分的组件或类都是可替换的。

基于以上的特点,Hyperf 将存在丰富的可能性,如实现 单体 Web 服务,API 服务,网关服务,分布式中间件,微服务架构,游戏服务器,物联网(IOT)等。

文档齐全

我们投入了大量的时间用于文档的建设,以解决各种因为文档缺失所带来的问题,文档上也提供了大量的示例,对新手同样友好。

Hyperf 官方开发文档

生产可用

我们为组件进行了大量的单元测试以保证逻辑的正确,目前存在 576 个单测共 1909 个断言条件,同时维护了高质量的文档,在 Hyperf 正式对外开放(2019年6月20日)之前,便已经过了严酷的生产环境的考验,我们才正式的对外开放该项目。

官网及交流

Github ???? 点 Star 支持我们   

Gitee 码云 ???? 点 Star 支持我们   

Hyperf 官网   


以上所述就是小编给大家介绍的《Hyperf v1.0.12 发布,企业级的 PHP 微服务协程框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

测试驱动开发

测试驱动开发

Kent Beck / 孙平平、张小龙 / 中国电力出版社 / 2004-4-1 / 28.00元

《测试驱动开发》(中文版)设想把编程看成是转动曲柄从井里提一桶水上来的过程。如果水桶比较小,那么仅需一个能自由转动的曲柄就可以了。如果水桶比较大而且装满水,那么还没等水桶全部被提上来你就会很累了。你需要一个防倒转的装置,以保证每转一次可以休息一会儿。水桶越重,防倒转的棘齿相距越近。测试驱动开发中的测试程序就是防倒转装置上的棘齿。一旦我们的某个测试程序能工作了,你就知道,它从现在开始并且以后永远都可......一起来看看 《测试驱动开发》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具