Design Patterns: Injection de dépendances en PHP

L’injection de dépendances est un design pattern qui permet d’éviter les dépendances pour un morceau de code ou un logiciel.
 
Les dépendances peuvent être modifiées au moment de l’exécution ainsi qu’au moment de la compilation. Nous pouvons utiliser l’injection de dépendances pour écrire du code modulaire, testable et maintenable:

  • Modulaire: l’injection de dépendances permet de créer des classes ou des modules complètement autonomes
  • Testable: il aide à écrire facilement du code testable, par exemple des tests unitaires
  • Maintenable: Puisque chaque classe devient modulaire, il devient plus facile de la gérer

 
 

Exemple sans Injection de dépendances:
<?php
	class MyService
	{
		private $conn;

		public function __construct()
		{
			$this->conn = new DatabaseConnexion();
		}
		//...
	}
?>

 

Exemple avec Injection de dépendances:
<?php
	class MyService
	{
		private $conn;

		public function __construct(DatabaseConnexion $connDB)
		{
			$this->conn = $connDB;
		}
		//...
	}
?>

Au lieu de créer l’instance de DatabaseConnexion dans MyService, elle est créée dans le code client et transmise via le constructeur.
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.