laravel-interfaces-and-di について
Laravel の狭いインターフェースと依存性注入を扱う開発スキルです。契約の定義やサービスプロバイダーでの実装のバインドを通じ、テストや実装変更を容易にします。
主な機能
- 01狭いインターフェースの定義
- 02依存性の注入
- 03プロバイダーで実装をバインド
- 04モックを使ったテスト
- 05利用側を変えずに実装を交換
活用シーン
- 01テストで依存関係を分離
- 02契約の背後にある実装を交換
- 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);
メリット:テストが容易になります(インターフェースをモックできます)。契約が明確になり、利用側に手を加えずに実装を差し替えられます。
コメント
Markdown 対応