SuperAPI AI 工具集

laravel-packages

编程与开发

查看项目

更新于 10-16 06:23

技能介绍

用途:面向 Laravel 项目的包开发与可复用代码抽取,帮助把跨项目复用的模式整理成独立包。

何时抽取:当某模式已在 3 个以上项目使用、代码稳定且测试充分、边界清晰、维护成本合理时,才考虑抽成包。

包结构:典型目录包含 src/(PackageServiceProvider.php、Actions/、DTOs/ 等)、tests/、composer.json 和 README.md。建议使用语义化版本,独立测试包,并清晰编写文档。

核心包(常用): Spatie Laravel Data:composer require spatie/laravel-data,提供带类型转换、验证、转换器的 DTO,并支持测试工厂。 Spatie Model States:composer require spatie/laravel-model-states,实现状态机模式,用专门类处理状态转换。 Spatie Query Builder:composer require spatie/laravel-query-builder,通过查询字符串过滤、排序、加载关联,适合 API 查询。 Saloon:composer require saloonphp/saloon saloonphp/laravel-plugin,用于构建优雅且可测试的外部 API 客户端。 Pest:composer require pestphp/pest pestphp/pest-plugin-laravel --dev,表达力强的测试框架,支持架构测试。

可选包:Laravel Sanctum(需要 API 认证时)、Stancl Tenancy(多租户应用)、Spatie Settings(需要应用级设置时)。

安装命令:完整安装可一次引入上述核心包,并执行 ./vendor/bin/pest --init 初始化 Pest;最小安装只需 spatie/laravel-data 与 Pest。

限制:资料未提供各包的具体版本要求、兼容性细节、性能影响及收费信息,实际使用前需自行核对官方文档。