mcpField
L
laravel-interfaces-and-di

laravel-interfaces-and-di

github.com/noartem開発1372 回インストール3 週間前に更新
リポジトリ

laravel-interfaces-and-di について

Laravel の狭いインターフェースと依存性注入を扱う開発スキルです。契約の定義やサービスプロバイダーでの実装のバインドを通じ、テストや実装変更を容易にします。

主な機能

  1. 01狭いインターフェースの定義
  2. 02依存性の注入
  3. 03プロバイダーで実装をバインド
  4. 04モックを使ったテスト
  5. 05利用側を変えずに実装を交換

活用シーン

  1. 01テストで依存関係を分離
  2. 02契約の背後にある実装を交換
  3. 03サービス境界を明確化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/noartem/skills --skill laravel-interfaces-and-di

インストール後、Claude Code で/laravel-interfaces-and-diを入力して読み込まれたか確認します。

詳細

インターフェースと依存性注入

限定的なインターフェースを定義し、必要な箇所に注入します。サービスプロバイダーで具象実装をバインドします。

interface Slugger { public function slug(string $s): string; }

final class AsciiSlugger implements Slugger {
  public function slug(string $s): string { /* ... */ }
}

$this->app->bind(Slugger::class, AsciiSlugger::class);

メリット:テストが容易になります(インターフェースをモックできます)。契約が明確になり、利用側に手を加えずに実装を差し替えられます。

コメント