laravel:interfaces-and-di について
Laravel 開発者向けに、狭いインターフェースの定義、必要な場所への注入、サービスプロバイダーでの実装バインドを説明するスキルです。テストや実装の差し替えに役立ちます。
主な機能
- 01狭いインターフェースの定義
- 02必要な場所へのインターフェース注入
- 03サービスプロバイダーでの実装登録
- 04テストでのインターフェースのモック
- 05具象実装の差し替え
活用シーン
- 01ビジネスロジックの契約定義
- 02テストでの依存関係のモック
- 03インターフェース実装の置き換え
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jpcaparas/ superpowers-laravel --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);
メリット:テストが容易になります(インターフェースをモックできます)。契約が明確になり、利用側に手を加えずに実装を差し替えられます。
コメント
Markdown 対応