用途
Laravel Providers 是一套针对 Laravel 框架的服务提供者(Service Providers)与应用引导(Bootstrapping)的实践指南,属于 leeovery/agentic-skills 技能集合。它用于在修改服务提供者、启动器(booters)、引导逻辑或应用级配置时提供参考模式,帮助开发者以清晰、可维护的方式组织 Laravel 应用的启动与配置代码。
主要能力
该技能围绕四个核心主题展开:
服务提供者(service-providers.md)
- 使用命名方法组织 AppServiceProvider
- 使用 Model::unguard() 处理批量赋值
- 为 Data 类提供工厂解析器(Factory resolver)
- 注册 Morph 映射(Morph map)
- 配置模式(Configuration patterns)
引导与启动器(bootstrap-booters.md)
- 可调用(Invokable)的启动器类
- 中间件注册
- 异常处理设置
- 调度配置
- 清晰的引导组织方式
环境配置(environment.md)
- 模板与实例模式(Template and instance pattern)
- .env-local 模板
- 被 Git 忽略的实例
- 可选的 git-crypt 用于密钥管理
辅助函数(helpers.md)
- 全局辅助函数注册
- 辅助函数自动加载
- 使用时机(建议节制使用)
- 使用静态方法的替代方案
使用方式
该技能以文档与代码模式的形式提供指导。例如,在 AppServiceProvider 中,推荐使用命名的私有方法来组织引导逻辑,示例模式如下:
// AppServiceProvider
final class AppServiceProvider extends ServiceProvider
{
public function boot(): void
{
$this->configureMorphMap();
$this->configureDataFactories();
Model::unguard();
}
private function configureMorphMap(): void
{
Relation::morphMap([
'order' => Order::class,
'product' => Product::class,
]);
}
}
通过将 Morph 映射、Data 工厂等配置拆分为独立的命名私有方法,可以让 AppServiceProvider 的 boot 方法保持简洁,提升可读性与可维护性。
适用场景
- 需要修改或重构 Laravel 服务提供者时
- 需要调整应用引导逻辑、中间件注册、异常处理或调度配置时
- 需要管理环境配置模板与实例(如 .env-local)时
- 需要注册全局辅助函数或评估是否应改用静态方法时
- 需要为 Data 类配置工厂解析器或注册 Morph 映射时
限制
该技能的具体安装命令、依赖要求、支持的 Laravel 版本范围、是否收费以及实际使用效果等信息,当前资料暂未提供。