hyperf/docs/zh-cn/awesome-components.md

171 lines
11 KiB
Markdown
Raw Normal View History

2019-06-16 02:41:15 +08:00
# 协程组件库
2021-01-15 18:02:33 +08:00
所有官方提供的组件库均已进行协程化处理,可安全地在 Hyperf 内或其它协程框架内使用,基于 Hyperf 的开放性和可扩展性社区可对此开发或适配各种各样的组件得益于此Hyperf 将存在着无限的可能性。
2023-05-23 09:22:01 +08:00
本页将收录各个适配了 Hyperf 的协程组件和已经经过验证可安全地用于协程下的常用库,以便您快速的从中选择合适的组件完成您的需求。
2019-06-16 02:41:15 +08:00
2020-08-17 18:02:45 +08:00
> 组件顺序以收录时间排序
2019-06-16 02:41:15 +08:00
## 如何提交我的组件?
2020-06-25 10:54:10 +08:00
如果您开发的协程组件适配了 Hyperf那么您可以直接对 [hyperf/hyperf](https://github.com/hyperf/hyperf) 项目的 `master` 分支发起您的 `Pull Request`,也就是更改当前页`(zh-cn/awesome-components.md)`。
2019-06-16 02:41:15 +08:00
## 如何适配 Hyperf ?
2019-12-12 16:41:17 +08:00
我们为您提供了一份 [Hyperf 组件开发指南](zh-cn/component-guide/intro.md),以帮助您开发 Hyperf 组件或适配 Hyperf 框架。
2019-06-16 02:41:15 +08:00
# 组件列表
## 路由
2019-07-07 00:52:47 +08:00
- [nikic/fastroute](https://github.com/nikic/FastRoute) 一个常用的高速路由
- [lazychanger/urlrewrite](https://github.com/lazychanger/urlrewrite) 一个基于 PSR- 7 与 [nikic/fastroute](https://github.com/nikic/FastRoute) 相同路由规则的 URL 重写工具
2019-07-07 00:52:47 +08:00
2019-06-16 02:41:15 +08:00
## 事件
- [hyperf/event](https://github.com/hyperf/event) Hyperf 官方提供的基于 PSR-14 的事件管理器
2019-07-07 00:52:47 +08:00
## 日志
- [hyperf/logger](https://github.com/hyperf/logger) Hyperf 官方提供的基于 PSR-3 的日志管理器,一个基于 monolog 的抽象及封装
2019-07-07 00:52:47 +08:00
## 命令
- [hyperf/command](https://github.com/hyperf/command) Hyperf 官方提供的基于 [symfony/console](https://github.com/symfony/console) 扩展并支持注解的命令管理组件
2019-07-07 00:52:47 +08:00
- [symfony/console](https://github.com/symfony/console) Symfony 提供的独立命令管理组件
2019-06-16 02:41:15 +08:00
## 数据库
- [hyperf/database](https://github.com/hyperf/database) Hyperf 官方提供的基于 Eloquent 衍生的数据库 ORM可复用于其它框架
2021-05-24 15:45:42 +08:00
- [hyperf/model-cache](https://github.com/hyperf/model-cache) Hyperf 官方提供的基于 [hyperf/database](https://github.com/hyperf/database) 组件的自动模型缓存组件
2020-07-23 21:20:01 +08:00
- [reasno/fastmongo](https://github.com/Reasno/fastmongo) 基于 `hyperf/gotask` 实现的协程化 `MongoDB` 客户端
2020-09-17 16:42:27 +08:00
- [hyperf-ext/translatable](https://github.com/hyperf-ext/translatable) 为模型提供多语言能力
2019-07-07 00:52:47 +08:00
## 依赖注入容器
- [hyperf/di](https://github.com/hyperf/di) Hyperf 官方提供的支持注解及 AOP 的依赖注入容器
2023-05-23 09:22:01 +08:00
- [hyperf/pimple](https://github.com/hyperf-cloud/pimple-integration) 基于 `pimple/pimple` 实现的轻量级符合 `PSR11` 规范的容器组件。可以减少其他框架使用 `Hyperf` 组件时的成本
2019-06-16 02:41:15 +08:00
2019-07-07 00:52:47 +08:00
## 服务
- [hyperf/http-server](https://github.com/hyperf/http-server) Hyperf 官方提供的 HTTP 服务端
- [hyperf/grpc-server](https://github.com/hyperf/grpc-server) Hyperf 官方提供的 GRPC 服务端
- [hyperf/websocket-server](https://github.com/hyperf/websocket-server) Hyperf 官方提供的 WebSocket 服务端
- [hyperf/rpc-server](https://github.com/hyperf/rpc-server) Hyperf 官方提供的通用 RPC 抽象服务端
2019-06-16 02:41:15 +08:00
## 客户端
- [hyperf/consul](https://github.com/hyperf/consul) Hyperf 官方提供的 Consul 协程客户端
- [hyperf/elasticsearch](https://github.com/hyperf/elasticsearch) Hyperf 官方提供的 Elasticsearch 协程客户端
- [hyperf/grpc-client](https://github.com/hyperf/grpc-client) Hyperf 官方提供的 GRPC 协程客户端
- [hyperf/etcd](https://github.com/hyperf/etcd) Hyperf 官方提供的 ETCD 协程客户端
- [hyperf/rpc-client](https://github.com/hyperf/rpc-client) Hyperf 官方提供的通用 RPC 抽象协程客户端
- [hyperf/guzzle](https://github.com/hyperf/guzzle) Hyperf 官方提供的 Guzzle HTTP 协程客户端
- [hyperf/redis](https://github.com/hyperf/redis) Hyperf 官方提供的 Redis 协程客户端
- [hyperf/websocket-client](https://github.com/hyperf/websocket-client) Hyperf 官方提供的 WebSocket 协程客户端
- [hyperf/cache](https://github.com/hyperf/cache) Hyperf 官方提供的基于 PSR-16 的缓存协程客户端,支持注解的使用方式
- [chungou/elasticsearch](https://github.com/kaychem/hyperf-elasticsearch) 一个简单的 Elasticsearch 构造器
2023-05-19 13:53:16 +08:00
- [friendsofhyperf/http-client](https://github.com/friendsofhyperf/http-client) 基于 Hyperf 的 Guzzle HTTP 协程客户端
- [friendsofhyperf/openai-client](https://github.com/friendsofhyperf/openai-client) 基于 Hyperf 的 OpenAI 客户端
2019-07-07 00:52:47 +08:00
## 消息队列
- [hyperf/amqp](https://github.com/hyperf/amqp) Hyperf 官方提供的 AMQP 协程组件
- [hyperf/async-queue](https://github.com/hyperf/async-queue) Hyperf 官方提供的简单的基于 Redis 的异步队列组件
- [hooklife/hyperf-aliyun-amqp](https://github.com/hooklife/hyperf-aliyun-amqp) 使 hyperf/amqp 组件支持阿里云 AMQP
2019-07-07 00:52:47 +08:00
## 配置中心
- [hyperf/config-apollo](https://github.com/hyperf/config-apollo) Hyperf 官方提供的 Apollo 配置中心接入组件
- [hyperf/config-aliyun-acm](https://github.com/hyperf/config-aliyun-acm) Hyperf 官方提供的阿里云 ACM 应用配置服务接入组件
- [hyperf/config-etcd](https://github.com/hyperf/config-etcd) Hyperf 官方提供的 ETCD 配置中心接入组件
2019-07-07 00:52:47 +08:00
2019-08-18 00:49:00 +08:00
## RPC
2019-07-07 00:52:47 +08:00
- [hyperf/json-rpc](https://github.com/hyperf/json-rpc) Hyperf 官方提供的 JSON-RPC 协议组件
- [hyperf/rpc-multiplex](https://github.com/hyperf/rpc-multiplex) Hyperf 官方提供的多路复用 RPC 组件
- [hyperf/roc](https://github.com/hyperf/roc) Hyperf 官方提供的 Golang 版本的多路复用 RPC Server 组件
- [limingxinleo/roc-skeleton](https://github.com/limingxinleo/roc-skeleton) Golang 版本多路复用 RPC Server 骨架包
2019-08-18 00:49:00 +08:00
## 服务治理
- [hyperf/rate-limit](https://github.com/hyperf/rate-limit) Hyperf 官方提供的基于令牌桶算法的限流组件
- [hyperf/load-balancer](https://github.com/hyperf/load-balancer) Hyperf 官方提供的负载均衡组件
- [hyperf/service-governance](https://github.com/hyperf/service-governance) Hyperf 官方提供的服务治理组件
- [hyperf/tracer](https://github.com/hyperf/tracer) Hyperf 官方提供的 OpenTracing 分布式调用链追踪组件
- [hyperf/circuit-breaker](https://github.com/hyperf/circuit-breaker) Hyperf 官方提供的服务熔断组件
- [pudongping/hyperf-throttle-requests](https://github.com/pudongping/hyperf-throttle-requests) 适配 Hyperf 框架的请求频率限流器。功能类似于 Laravel 框架的 throttle 中间件。
2019-08-18 00:22:58 +08:00
2019-08-18 00:49:00 +08:00
## 定时任务
- [hyperf/crontab](https://github.com/hyperf/crontab) Hyperf 官方提供的秒级定时任务组件
2019-08-18 00:49:00 +08:00
## ID 生成器
- [hyperf/snowflake](https://github.com/hyperf/snowflake) Hyperf 官方提供的 Snowflake ID 生成器组件 (beta)
2019-08-18 00:49:00 +08:00
## 文档生成
- [hyperf/swagger](https://github.com/hyperf/swagger) Hyperf 官方提供的 Swagger 文档自动生成组件 (beta)
- [tangwei/swagger](https://github.com/tw2066/api-docs) 一个基于 PHP 类型(DTO)自动生成 swagger 文档组件,启动自动扫描、自动生成路由(UI)、注解验证
2019-08-18 00:49:00 +08:00
## Graphql
- [hyperf/graphql](https://github.com/hyperf/graphql) Hyperf 官方提供的 Graphql 服务端组件 (beta)
2019-08-18 00:49:00 +08:00
## 热更新/热重载
2019-08-18 00:22:58 +08:00
2021-01-15 18:02:33 +08:00
- [hyperf/watcher](zh-cn/watcher.md) 官方热更新组件
- [ha-ni-cc/hyperf-watch](https://github.com/ha-ni-cc/hyperf-watch) 一个基于 Swoole 实现的通用热更新组件
2019-08-18 00:22:58 +08:00
- [mix-php/swoolefor](https://github.com/mix-php/swoolefor) 一个由 Mixphp 实现的通用热更新组件
- [buexplain/go-watch](https://github.com/buexplain/go-watch) 一个基于 Go 语言实现的通用热更新组件
- [remy/nodemon](https://github.com/remy/nodemon) 一个基于 node.js 实现的通用热更新组件
> Warning: 请勿于生产环境使用 `热更新/热重载` 功能
2019-09-27 15:55:27 +08:00
2019-08-18 00:49:00 +08:00
## Swoole
2019-11-07 11:13:00 +08:00
- [hyperf/swoole-tracker](https://github.com/hyperf/swoole-tracker) Hyperf 官方提供的对接 Swoole Tracker 的组件,提供阻塞分析、性能分析、内存泄漏分析、运行状态及调用统计等功能
- [hyperf/task](https://github.com/hyperf/task) Hyperf 官方提供的 Task 组件,对 Swoole 的 Task 机制进行了封装及抽象,提供便捷的注解用法
2023-05-23 09:22:01 +08:00
- [hyperf/gotask](https://github.com/hyperf/gotask) GoTask 通过 Swoole 进程管理功能启动 Go 进程作为 Swoole 主进程边车(Sidecar),利用进程通讯将任务投递给边车处理并接收返回值。可以理解为 Go 版的 Swoole TaskWorker
2019-11-07 11:13:00 +08:00
## 开发调试
- [firstphp/wsdebug](https://github.com/lamplife/wsdebug) 通过 `WebSocket` 实时观测异常错误的开发调试组件
2021-10-27 07:16:16 +08:00
- [qbhy/hyperf-multi-env](https://github.com/qbhy/hyperf-multi-env) 支持与 laravel 类似的多 env 配置文件功能,比如通过 `APP_ENV=testing` 可以加载 `.env.testing` 配置覆盖默认的 `.env`
- [qiutuleng/hyperf-dump-server](https://github.com/qiutuleng/hyperf-dump-server) 提供一个 `dump` 函数,可以将程序内的变量或数据打印到另一个命令行窗口中,基于 Symfony 的 `Var-Dump Server` 组件
- [leearvin/hyperf-tinker](https://github.com/Arvin-Lee/hyperf-tinker) 基于 PsySH 提供一个交互式的 Hyperf shell 容器
2019-08-18 00:49:00 +08:00
## 权限认证
- [fx/hyperf-http-auth](https://github.com/nfangxu/hyperf-http-auth) 根据 laravel 中的 auth 组件改写的, 适配 hyperf 框架
- [96qbhy/hyperf-auth](https://github.com/qbhy/hyperf-auth) 参考 laravel 的 auth 组件设计,支持 jwt、session、sso(单点多设备登录) 驱动
2020-09-17 16:42:27 +08:00
- [hyperf-ext/jwt](https://github.com/hyperf-ext/jwt) JWT 组件,实现了完整用于 JWT 认证的能力
- [hyperf-ext/auth](https://github.com/hyperf-ext/auth) 移植自 `illuminate/auth`,基本完整的实现了 Laravel Auth 的功能特性
- [donjan-deng/hyperf-casbin](https://github.com/donjan-deng/hyperf-casbin) 适配于 Hyperf 的开源访问控制框架 [Casbin](https://casbin.org/docs/zh-CN/overview)
## 测试
- [hyperf/testing](https://github.com/hyperf/testing) Hyperf 官方提供的单元测试组件
- [friendsofhyperf/pest-plugin-hyperf](https://github.com/friendsofhyperf/pest-plugin-hyperf) 适配于 Hyperf 的 [Pest](https://pestphp.com/) 插件,为 Pest 提供协程环境支持
## 分布式锁
2023-05-23 09:22:01 +08:00
- [lysice/hyperf-redis-lock](https://github.com/Lysice/hyperf-redis-lock) 根据 Laravel 的 lock 组件改写,适配于 Hyperf 框架
2022-02-26 21:20:36 +08:00
## 分布式事务
- [dtm-php/dtm-client](https://github.com/dtm-php/dtm-client) 支持 Hyperf 的 dtm 分布式事务客户端组件
## 注解配置
2023-05-23 09:22:01 +08:00
- [hyperf-helper/dependency](https://github.com/lazychanger/hyperf-helper-dependency) 使用注解快速的配置依赖关系,并且支持依赖优先级
2019-09-27 15:55:27 +08:00
## 第三方 SDK
- [yurunsoft/pay-sdk](https://github.com/Yurunsoft/PaySDK) 支持 Swoole 协程的支付宝/微信支付 SDK
2023-05-23 09:22:01 +08:00
- [yurunsoft/yurun-oauth-login](https://github.com/Yurunsoft/YurunOAuthLogin) 支持 Swoole 协程的第三方登录授权 SDKQQ、微信、微博、GitHub、Gitee 等)
- [w7corp/wechat](zh-cn/sdks/wechat) EasyWeChat一个流行的非官方微信 SDK
2023-05-23 09:22:01 +08:00
- [yansongda/hyperf-pay](https://github.com/yansongda/hyperf-pay) 支持 `支付宝/微信` 的支付组件,基于 [yansongda/pay](https://github.com/yansongda/pay) 实现,适配于 `Hyperf` 框架
- [alapi/hyperf-meilisearch](https://github.com/anhao/hyperf-meilisearch) 为 Hyperf Scout 提供的 meilisearch 客户端
2022-08-17 18:28:00 +08:00
- [vinchan/message-notify](https://github.com/VinchanGit/message-notify) Hyperf 异常监控报警通知组件(钉钉群机器人、飞书群机器人、邮件、QQ 频道机器人、企业微信群机器人)