2022-01-14から1日間の記事一覧

postman

qiita.com

【保存】混乱するbind, DIの紐解き

noel-ingenieur.hateblo.jp ファイル構成 app/Http/Controllers/Api/User/HogeController app/Domain/Repositories/BaseRepository [インターフェース:Domain] app/Domain/Repositories/HogeRepository [インターフェース:Domain] app/Infrastructure/Repo…

なぜDIするのか?

function login (LoginService $service) { } って言うのがあったときに $serviceになんのインスタンスが入るか明確ですよね? LaravelだとLoginServiceですよね 多分難しく考えすぎですね 単純に new LoginService() はできるけど new BaseRepositoryInterf…

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);…

アップキャストとダウンキャスト

クラスや型のアップキャスト 基本的に継承っていうのは親を引き継いで子供を作ってます すなわち親に存在するpublic / protectedな変数、関数は子供に全て引き継がれます。 そして子供は新たなpublic / protectedな変数、関数をさらに用意できます すなわち…