Laravel

Service Container & DI

Dependency injection、service providers、binding、singletons、contextual binding、container の解決、facades

20 面接問題·
Mid-Level
1

Laravel の Service Container とは何ですか?

回答

Service Container は、クラスの依存関係を管理し、dependency injection を実行するための強力なツールです。コンストラクタの type-hint を検査することで、依存関係を自動的に解決します。Service Container を使用すると、依存関係の直接的なインスタンス化を避けることで、テスト容易性と疎結合が向上します。

2

直接インスタンス化と比較した dependency injection の主な利点は何ですか?

回答

Dependency injection は、テスト中に依存関係を mock や stub で簡単に置き換えられるようにすることで、テスト容易性を向上させます。また、クラスが具体的な依存関係に密結合になるのを防ぎ、疎結合を促進します。これにより、コードはより保守しやすく、変更に対して柔軟になります。

3

Laravel のコントローラのコンストラクタに依存関係を注入するにはどうすればよいですか?

回答

コンストラクタに依存関係の type-hint を追加すると、Service Container がその依存関係を自動的に解決します。Laravel はコンストラクタのパラメータを検査し、追加の設定なしで適切なインスタンスを注入します。このアプローチは、コントローラでの dependency injection において最もシンプルで一般的です。

4

Service Container における bind() と singleton() の違いは何ですか?

5

app()->make(UserRepository::class) メソッドは何をしますか?

+17 面接問題

次の面接に向けてLaravelをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める