class FooBarController extends Controller { public function __construct() { $this->middleware(function (Request $request, $next) { app()->bind(BaseRepository::class, fn($app) => $app->make(FooBarRepository::class)); return $next($request); }); } }
interface BaseRepository {}
左側のクラスが定義されている場合、DIするときに右側のクラスのインスタンスを代入する
左が親で、右が子
よくある設定は
左がinterfaceで右が実装class