Skip to content

Latest commit

 

History

History
174 lines (116 loc) · 11.8 KB

awesome-components.md

File metadata and controls

174 lines (116 loc) · 11.8 KB

协程组件库

所有官方提供的组件库均已进行协程化处理,可安全地在 Hyperf 内或其它协程框架内使用,基于 Hyperf 的开放性和可扩展性,社区可对此开发或适配各种各样的组件,得益于此,Hyperf 将存在着无限的可能性。 本页将收录各个适配了 Hyperf 的协程组件和已经经过验证可安全地用于协程下的常用库,以便您快速的从中选择合适的组件完成您的需求。

组件顺序以收录时间排序

如何提交我的组件?

如果您开发的协程组件适配了 Hyperf,那么您可以直接对 hyperf/hyperf 项目的 master 分支发起您的 Pull Request,也就是更改当前页(zh-cn/awesome-components.md)

如何适配 Hyperf ?

我们为您提供了一份 Hyperf 组件开发指南,以帮助您开发 Hyperf 组件或适配 Hyperf 框架。

组件列表

路由

事件

  • hyperf/event Hyperf 官方提供的基于 PSR-14 的事件管理器

日志

  • hyperf/logger Hyperf 官方提供的基于 PSR-3 的日志管理器,一个基于 monolog 的抽象及封装

命令

数据库

依赖注入容器

  • hyperf/di Hyperf 官方提供的支持注解及 AOP 的依赖注入容器
  • hyperf/pimple 基于 pimple/pimple 实现的轻量级符合 PSR11 规范的容器组件。可以减少其他框架使用 Hyperf 组件时的成本

服务

客户端

消息队列

配置中心

RPC

服务治理

定时任务

ID 生成器

文档生成

  • hyperf/swagger Hyperf 官方提供的 Swagger 文档自动生成组件 (beta)
  • tangwei/swagger 一个基于 PHP 类型(DTO)自动生成 swagger 文档组件,启动自动扫描、自动生成路由(UI)、注解验证

Graphql

  • hyperf/graphql Hyperf 官方提供的 Graphql 服务端组件 (beta)

热更新/热重载

Warning: 请勿于生产环境使用 热更新/热重载 功能

Swoole

  • hyperf/task Hyperf 官方提供的 Task 组件,对 Swoole 的 Task 机制进行了封装及抽象,提供便捷的注解用法
  • hyperf/gotask GoTask 通过 Swoole 进程管理功能启动 Go 进程作为 Swoole 主进程边车(Sidecar),利用进程通讯将任务投递给边车处理并接收返回值。可以理解为 Go 版的 Swoole TaskWorker

开发调试

  • firstphp/wsdebug 通过 WebSocket 实时观测异常错误的开发调试组件
  • qbhy/hyperf-multi-env 支持与 laravel 类似的多 env 配置文件功能,比如通过 APP_ENV=testing 可以加载 .env.testing 配置覆盖默认的 .env
  • qiutuleng/hyperf-dump-server 提供一个 dump 函数,可以将程序内的变量或数据打印到另一个命令行窗口中,基于 Symfony 的 Var-Dump Server 组件
  • leearvin/hyperf-tinker 基于 PsySH 提供一个交互式的 Hyperf shell 容器
  • friendsofhyperf/telescope 适配 Hyperf 框架的调试工具。

权限认证

测试

分布式锁

  • lysice/hyperf-redis-lock 根据 Laravel 的 lock 组件改写,适配于 Hyperf 框架
  • pudongping/hyperf-wise-locksmith 适配 hyperf 框架的互斥锁库,用于在高并发场景下提供 PHP 代码的有序执行。支持文件锁、分布式锁、红锁、协程级互斥锁

分布式事务

注解配置

第三方 SDK