SuperAPI AI 工具集

laravel-providers

编程与开发

查看项目

更新于 10-16 02:02

技能介绍

用途

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 版本范围、是否收费以及实际使用效果等信息,当前资料暂未提供。