superpms / helper-fetch
pms helper fetch
v1.0.x-dev
2026-05-21 05:34 UTC
Requires
- php: >=8.1
- ext-curl: *
This package is auto-updated.
Last update: 2026-05-21 05:34:49 UTC
README
superpms/helper-fetch 是 SuperPMS 自研 composer 包里的轻量 HTTP 请求封装。它只负责把 PHP cURL 的常用请求能力包装成链式 Client 和响应读取对象 Response,供 server 端业务代码或上层 helper 包按需实例化使用。
这个包不参与框架启动挂载,不提供路由、业务流程、鉴权、签名、模型或页面能力;这些能力如果存在,应在调用方或上层包中完成。
安装与依赖
composer require superpms/helper-fetch
包声明位于 composer.json:
- 包名:
superpms/helper-fetch - PHP 要求:
>=8.1 - 扩展要求:
ext-curl - 自动加载:
pms\\->src/pms/ - 命名空间:
pms\helper\fetch
server 端当前通过 server/composer.json 依赖 superpms/helper-fetch:^1.0.0。
快速开始
use pms\helper\fetch\Client; $response = (new Client()) ->setUrl('https://example.com/api') ->setMethod('GET') ->setData(['page' => 1]) ->execute(); $data = $response->getJsonBody(true);
Client 会维护一个 cURL 句柄,设置 URL、方法、请求头、Cookie、请求数据、超时、Referer 和 User-Agent 后,通过 execute() 返回 pms\helper\fetch\Response。
核心模块
Client:请求构建与执行入口,封装默认 cURL 选项、请求方法、参数拼接、Header、Cookie、超时、Referer、User-Agent。Response:响应读取对象,保留原始响应、响应体、JSON/XML 解析和curl_getinfo()读取;Header/Cookie 路径当前存在实现边界,不能当成稳定 Header 数组能力使用。
文档索引
- docs/README.md:包内文档入口与阅读路线。
- 快速开始:安装前提、直接调用示例、server 端当前使用方式。
- Client 请求构建:公开方法、默认选项、GET/POST/HEAD 行为。
- Response 响应读取:响应体、JSON/XML、Header/Cookie 实现边界、cURL info。
- 模块边界:helper-fetch 与 helper-hrb、kit、server 业务代码的职责分界。
- 内部实现:cURL 句柄生命周期、选项应用、异常触发点。
- API 参考:公开类、常量、方法清单。
边界说明
helper-fetch是底层 HTTP 执行器,不是业务请求协议层。- 业务签名、统一参数、回调转换、错误码解释,应放在调用方或
helper-hrb等上层包。 - 包内没有框架 Facade、Service 注册、配置合并、Hook 或自动启动逻辑。
- 当前默认关闭 SSL 证书校验,调用方如接入安全敏感外部服务,应显式评估并通过
addOptions()覆盖相关 cURL 选项。