# Service Container & DI (Laravel) > Dependency injection、service providers、binding、singletons、contextual binding、container の解決、facades - 20 面接問題 - Mid-Level - [面接問題: Laravel](https://sharpskill.dev/ja/technologies/laravel/interview-questions.md) ## 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 において最もシンプルで一般的です。 ## さらに17問利用可能 - Service Container における bind() と singleton() の違いは何ですか? - app()->make(UserRepository::class) メソッドは何をしますか? 無料で登録: https://sharpskill.dev/ja/login ## その他のLaravel面接トピック - [PHPの基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/php-basics.md): 25問, Junior - [PHP オブジェクト指向の基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/php-oop-essentials.md): 20問, Junior - [Composer & Autoloading](https://sharpskill.dev/ja/technologies/laravel/interview-questions/composer-autoloading.md): 18問, Junior - [Laravelの基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-fundamentals.md): 20問, Junior - [Laravel ルーティング](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-routing.md): 20問, Junior - [Blade Templates](https://sharpskill.dev/ja/technologies/laravel/interview-questions/blade-templates.md): 18問, Junior - [Request & Response](https://sharpskill.dev/ja/technologies/laravel/interview-questions/request-response.md): 20問, Junior - [Eloquent ORM の基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-orm-basics.md): 22問, Junior - [Eloquent Relationships](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-relationships.md): 25問, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/ja/technologies/laravel/interview-questions/database-migrations.md): 20問, Mid-Level - [バリデーションとフォーム](https://sharpskill.dev/ja/technologies/laravel/interview-questions/validation-forms.md): 22問, Mid-Level - [認証](https://sharpskill.dev/ja/technologies/laravel/interview-questions/authentication.md): 20問, Mid-Level - [認可とPolicies](https://sharpskill.dev/ja/technologies/laravel/interview-questions/authorization-policies.md): 18問, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/ja/technologies/laravel/interview-questions/api-resources-authentication.md): 26問, Mid-Level - [ミドルウェア](https://sharpskill.dev/ja/technologies/laravel/interview-questions/middleware.md): 18問, Mid-Level - [Queues & Jobs](https://sharpskill.dev/ja/technologies/laravel/interview-questions/queues-jobs.md): 22問, Mid-Level - [Events & Listeners](https://sharpskill.dev/ja/technologies/laravel/interview-questions/events-listeners.md): 18問, Mid-Level - [通知とメール](https://sharpskill.dev/ja/technologies/laravel/interview-questions/notifications-mail.md): 20問, Mid-Level - [File Storage](https://sharpskill.dev/ja/technologies/laravel/interview-questions/file-storage.md): 18問, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/ja/technologies/laravel/interview-questions/testing-phpunit.md): 24問, Mid-Level - [Caching](https://sharpskill.dev/ja/technologies/laravel/interview-questions/caching.md): 18問, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/ja/technologies/laravel/interview-questions/livewire-inertia.md): 20問, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-advanced.md): 24問, Senior - [Repository Pattern](https://sharpskill.dev/ja/technologies/laravel/interview-questions/repository-pattern.md): 20問, Senior - [Laravel パッケージ](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-packages.md): 20問, Senior - [Performance Optimization](https://sharpskill.dev/ja/technologies/laravel/interview-questions/performance-optimization.md): 22問, Senior - [Security Best Practices](https://sharpskill.dev/ja/technologies/laravel/interview-questions/security-best-practices.md): 22問, Senior - [Laravel Octane](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-octane.md): 18問, Senior - [Laravel Distributed Systems](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-distributed-systems.md): 22問, Senior - [Observability & Monitoring](https://sharpskill.dev/ja/technologies/laravel/interview-questions/observability-monitoring.md): 20問, Senior - [Deployment & DevOps](https://sharpskill.dev/ja/technologies/laravel/interview-questions/deployment-devops.md): 20問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/laravel/interview-questions/service-container-di