Download the PHP package hyperf-apex/apex without Composer
On this page you can find all versions of the php package hyperf-apex/apex. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hyperf-apex/apex
More information about hyperf-apex/apex
Files in hyperf-apex/apex
Package apex
Short Description Apex generic infrastructure, API engine and components for Hyperf (Metapackage)
License Apache-2.0
Homepage https://github.com/lbg-sys/hyperf-apex
Informations about the package apex
Hyperf Apex
企业级 Hyperf 3.2 + Swoole 6.2 通用组件库(Monorepo 架构)。
本仓库采用组件化设计,既支持按需引入单一功能包(避免非必要依赖膨胀),也支持通过元包 hyperf-apex/apex 一键全量引入。
模块清单与包规划(packages/)
| 组件包名 | 目录 | 职责说明 | 外部核心依赖 |
|---|---|---|---|
hyperf-apex/core |
packages/core |
通用基础底座(DTO 参数水合、规则校验、统一响应、声明式权限/限流/幂等注解、统一异常、日志审计、Fail-Fast 启动检查) | 仅 Hyperf 基础组件,零外设冗余依赖 |
hyperf-apex/apidoc |
packages/apidoc |
OpenAPI 契约引擎(基于 DTO 反射的无侵入 OpenAPI 3.1 生成) | swagger-php、symfony/yaml |
hyperf-apex/apidoc-apifox |
packages/apidoc-apifox |
长连接契约导出(把 #[WsGateway] / #[WsRoute] 声明渲染成 Apifox 原生 webSocketCollection) |
hyperf-apex/apidoc、hyperf-apex/websocket |
hyperf-apex/websocket |
packages/websocket |
长连接网关(多端 WebSocket 协议封装、跨 Worker 会话存储、连接索引用 Swoole Table、房间索引可选 Swoole Table 或 Redis) | hyperf/websocket-server;hyperf/redis 可选(房间索引用 Redis 时需要) |
hyperf-apex/reliability |
packages/reliability |
高可用套件(Redis 分布式限流与限流中间件、接口幂等防重与幂等中间件、事务发件箱 Outbox、企微多渠道通知、出站 HTTP 客户端) | hyperf/redis、hyperf/database、hyperf/guzzle |
hyperf-apex/metrics |
packages/metrics |
Prometheus 监控(基于 Swoole Table 共享内存的低基数运行指标、请求耗时拦截与大屏) | hyperf/memory(Swoole Table) |
hyperf-apex/wecom |
packages/wecom |
企业微信(多企业配置与 alias 路由、进程内共用 EasyWeChat 应用、access_token 缓存与自愈、网页授权/扫码登录) | w7corp/easywechat、hyperf/cache |
hyperf-apex/apex |
根目录元包 | 全家桶元包(Metapackage)(聚合依赖上述全部 7 个独立包,开箱即用) | 聚合所有子包 |
核心设计特性
- 纯通用权限体系:提供统一顶层契约
PermissionInterface,消除对特定业务角色/枚举的硬编码;支持统一的#[RequirePermission](支持string、BackedEnum、PermissionInterface或其数组,支持guard自定义权限命名空间与mode组合)与#[RequireRole]注解; - 插件化 Fail-Fast 启动检查:
StartupChecker提供纯规则驱动配置(required、required_envs)与CheckerInterface自定义探测器插件机制,彻底剔除针对具体第三方驱动的写死逻辑; - 强类型 DTO 架构:基类统一收拢为
Hyperf\Apex\DTO\AbstractDTO,配合#[FromQuery]、#[FromBody]实现自动化参数水合、约束校验与 OpenAPI 3.1 规格自动推导; - 现代化工程标准:全库严格遵循 PHP 8.4 + Swoole 6.2,PHPStan Level 6 静态分析全量 0 error,100% PSR 规范排版。
接入方式
方式 1:按需引入(推荐,轻量无污染)
根据项目的实际业务形态,只安装所需的组件包:
方式 2:全量引入(全家桶)
配置文件发布(vendor:publish)
每个包均提供独立的配置发布 ID:
日志通道
组件按用途分流日志,会优先使用下面这些通道名(Hyperf 的 logger.channels 配置):
| 通道 | 用途 |
|---|---|
error |
异常与错误:AppExceptionHandler、请求异常快照、Outbox 投递、WebSocket |
shared |
限流:RateLimiter、RateLimitMiddleware |
outbound |
第三方出站调用:OutboundHttpClient、企业微信组件(logger 名 wecom) |
sql |
SQL 日志:DbQueryExecutedListener(记录量级由 sql_log.full / slow_ms / writes 控制) |
access |
访问日志:RequestTimingMiddleware(与 access_log 配置配套) |
这些通道名不在 Hyperf 骨架的默认配置里,所以有两件事要知道:
- 没配置不会报错。组件统一经
Hyperf\Apex\Logging\LoggerChannels::resolve()取通道, 通道不存在就退回default(日志混在一起,功能完整)。直接调LoggerFactory::get($name, $channel)取通道会在通道缺失时抛异常且发生在构造函数里,所以组件源码里不要这么写。 - 想分流就自己定义同名通道,例如把访问日志单独落一个文件:
WebSocket 网关(hyperf-apex/websocket)
完整说明(运行前置、声明入口与事件、鉴权、推送、协议与内置事件、全部配置项)见
packages/websocket/README.md。
要点:网关默认强制单 Worker(协程服务器下 Sender 只在本 Worker 内投递,多 Worker 会静默丢推送,
确实只收不发时用 websocket.allow_multi_worker=true 显式接受);推送不承诺可靠投递;
任何业务错误都只回错误信封、不断开连接。
开发与质检规范
- 运行环境:PHP 8.4 + Swoole 6.2,统一使用
swoole62与composer62命令; - 单元测试:
composer62 test(PHPUnit 11); - 静态分析:
composer62 analyse(PHPStan Level 6,全包 0 error); - 代码格式化:
composer62 cs-fix(PHP-CS-Fixer); - 参与开发:见 CONTRIBUTING.md(环境、门禁、分支模型、发布流程);
- 变更记录:见 CHANGELOG.md。
关于本仓库的发布方式
本仓库是 Monorepo,对外的 7 个包由两条路径发布:
| Composer 包名 | 发布来源 |
|---|---|
hyperf-apex/core、apidoc、apidoc-apifox、websocket、reliability、metrics、wecom |
在 master 打 vX.Y.Z tag 后,由 .github/workflows/split.yml 拆分并推送到 lbg-sys/hyperf-apex-{包名} 只读仓,Packagist 从只读仓索引版本 |
hyperf-apex/apex(元包) |
直接由本仓库 lbg-sys/hyperf-apex 发布;packages/、test/ 等已标记 export-ignore,dist 包只含 composer.json 与 LICENSE |
发布流程:更新 CHANGELOG.md → 在 master 上打 git tag -a vX.Y.Z -m "chore(release): vX.Y.Z" → git push origin vX.Y.Z。
All versions of apex with dependencies
hyperf-apex/core Version ^0.1
hyperf-apex/apidoc Version ^0.1
hyperf-apex/apidoc-apifox Version ^0.1
hyperf-apex/websocket Version ^0.1
hyperf-apex/reliability Version ^0.1
hyperf-apex/metrics Version ^0.1
hyperf-apex/wecom Version ^0.1