Architecture et requête · Question 1 sur 12
Quelle forme d'injection de dépendances TYPO3 recommande-t-il pour vos propres services ?
1 réponse est correcte. Facile
Afficher la solution
Solution
- C L'injection par constructeur : les dépendances sont déclarées comme paramètres du constructeur
Explication
TYPO3 utilise le conteneur de services de Symfony, qui détecte automatiquement les dépendances (autowiring) et les transmet lors de la création d'un service. L'injection par constructeur est recommandée, par exemple public function __construct(private readonly ProductRepository $productRepository) {} : la classe montre d'un coup d'œil ce dont elle a besoin et peut facilement recevoir des doublures de test dans les tests. Les méthodes inject*() sont uniquement prévues pour des classes de base abstraites dont le constructeur ne doit pas alourdir les sous-classes. GeneralUtility::makeInstance() cache les dépendances dans le code et n'est plus aujourd'hui que l'exception pour les services.