php-saloon 是一个面向 PHP API 集成与 SDK 开发的技能,适用于使用 Saloon 构建或调试连接器、请求、认证、请求体、测试、分页、Laravel 集成和插件工作流的场景。
用途 该技能用于指导开发者围绕 Saloon 构建独立 API 客户端与 SDK,并覆盖从设计、实现到测试与生产发布的完整流程。
主要能力与规则
- 独立 API 客户端:从 references/standalone-sdk-guidance.md 和 references/building-sdks.md 入手;围绕 Saloon Connector 构建 SDK,并通过资源类、请求类和强类型 DTO 保持易扩展性。
- 强类型:响应始终使用强类型 DTO,推荐使用 github.com/Crell/Serde 进行响应 DTO 序列化;若请求需要超过 2 到 3 个参数,或 DTO 能实质性改善开发体验,则使用类型化 DTO 而非长参数列表;所有内容必须强类型,若附近有 php-pro 技能则遵循其 PHP 类型期望;在需要泛型的地方添加 docblock。
- 认证:若 API 支持认证则添加认证,让开发者传入强类型认证信息,而不是松散的数组。
- 分页与限流:若 API 支持分页则始终支持分页;始终添加限流。
- 缓存与中间件:以可选依赖方式支持缓存,并允许开发者传入自己的缓存实现;允许开发者注册自己的中间件。
- 异常:添加自定义异常,包含一个基础 SDK 异常以及针对常见失败的具体异常;将请求和响应放在异常上,便于开发者检查。
- 测试:始终编写不访问真实 API 的测试。
Laravel 支持
- 保持 Laravel 支持可选,并隔离在独立命名空间中。
- 将 Laravel 插件作为可选依赖添加。
- 实现 facade 和配置。
- 通过包装类自动装配 SDK,应用认证、缓存和中间件组合等可选关注点。
- 使用 spatie/laravel-package-tools 进行包装配。
参考文档阅读顺序
- 阅读 references/index.md 获取完整的逐页地图。
- 在设计独立客户端或包之前,阅读 references/standalone-sdk-guidance.md。
- 在编写核心 Saloon 代码之前,阅读 references/connectors.md、references/requests.md 和 references/sending-requests.md。
- 在构建 SDK 包之前,阅读 references/data-transfer-objects.md、references/middleware.md、references/building-sdks.md 和 references/laravel-integration.md。
- 在发布生产集成之前,阅读 references/testing.md、references/handling-failures.md 和 references/handling-rate-limits.md。
适用场景 适合需要基于 Saloon 构建 PHP API 集成或 SDK 的开发者,尤其是涉及认证、分页、限流、缓存、中间件、异常处理、测试以及 Laravel 集成的项目。
限制 资料未提供该技能的具体安装命令、版本要求、收费信息或平台限制,这些内容暂未提供。