
Service Container & DI
Dependency injection, service providers, binding, singletons, contextual binding, container resolution, facades
1Qu'est-ce que le Service Container dans Laravel ?
Qu'est-ce que le Service Container dans Laravel ?
Réponse
Le Service Container est un outil puissant pour gérer les dépendances de classe et effectuer l'injection de dépendances. Il permet de résoudre automatiquement les dépendances en inspectant les type-hints des constructeurs. Utiliser le Service Container améliore la testabilité et le découplage en évitant l'instanciation directe des dépendances.
2Quel est l'avantage principal de l'injection de dépendances par rapport à l'instanciation directe ?
Quel est l'avantage principal de l'injection de dépendances par rapport à l'instanciation directe ?
Réponse
L'injection de dépendances améliore la testabilité en permettant de substituer facilement les dépendances par des mocks ou des stubs lors des tests. Elle favorise également le découplage en évitant que les classes soient fortement couplées à leurs dépendances concrètes. Cela rend le code plus maintenable et flexible face aux changements.
3Comment injecter une dépendance dans le constructeur d'un contrôleur Laravel ?
Comment injecter une dépendance dans le constructeur d'un contrôleur Laravel ?
Réponse
Ajouter un type-hint de la dépendance dans le constructeur permet au Service Container de résoudre automatiquement cette dépendance. Laravel inspecte les paramètres du constructeur et injecte les instances appropriées sans configuration supplémentaire. Cette approche est la plus simple et la plus courante pour l'injection de dépendances dans les contrôleurs.
Quelle est la différence entre bind() et singleton() dans le Service Container ?
Que fait la méthode app()->make(UserRepository::class) ?
+17 questions d'entretien
Autres sujets d'entretien Laravel
Les bases de PHP
POO en PHP
Composer & Autoloading
Fondamentaux Laravel
Routing Laravel
Blade Templates
Request & Response
Eloquent ORM - Les bases
Eloquent Relationships
Migrations & Schema Builder
Validation & Formulaires
Authentication
Authorization & Policies
API Resources & Authentication
Middleware
Queues & Jobs
Events & Listeners
Notifications & Mail
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Performance Optimization
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
Maîtrise Laravel pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement