Symfony – Injection de dépendances
Symfony – Injection de dépendances
Cours 31 — Injection de dépendances
Introduction
L’injection de dépendances permet à Symfony de fournir automatiquement les objets nécessaires à une classe ou à une méthode.
Cette technique est utilisée partout dans Symfony.
Exemple simple
1
2
3
4
5
public function index(
EntityManagerInterface $entityManager
): Response
{
}
Symfony fournit automatiquement :
1
$entityManager
Exemple avec un service
1
2
3
4
5
public function index(
CalculAgeService $calculAgeService
): Response
{
}
Symfony crée et fournit le service.
Exemple avec Request
1
2
3
4
5
public function index(
Request $request
): Response
{
}
Symfony fournit automatiquement l’objet Request.
Plusieurs dépendances
1
2
3
4
5
6
7
public function index(
Request $request,
EntityManagerInterface $entityManager,
CalculAgeService $calculAgeService
): Response
{
}
Pourquoi utiliser l’injection ?
Permet de :
- éviter les créations manuelles ;
- réduire le code ;
- faciliter les tests ;
- améliorer la maintenance.
Sans injection
1
$service = new CalculAgeService();
Avec injection
1
CalculAgeService $calculAgeService
Symfony s’occupe de tout.
Comprendre le processus
1
2
3
4
5
6
7
Contrôleur
↓
Symfony
↓
Injection
↓
Objet disponible
Exemples fréquents
1
2
3
4
5
6
7
Request
EntityManagerInterface
Repository
Service
Conclusion
L’injection de dépendances est un mécanisme fondamental de Symfony.
À retenir :
- Symfony fournit automatiquement les objets ;
- aucun
newn’est nécessaire ; - utilisée avec les services, repositories et Request ;
- simplifie fortement le développement.
This post is licensed under CC BY 4.0 by the author.