Índice

La Inyección de dependenciasinyección de dependencias

La idea que está detrás de la inyección de dependencias es simple: en lugar de dejar que una clase vaya a buscar ella misma las dependencias que necesita, este proceso se externaliza.

La clase X desprovista de esta tarea, se podrá concentrar en su función principal.

Descubramos a continuación los diferentes tipos de inyección.

1. La inyección de dependencias por el constructor

Esta inyección consiste en pasar la dependencia durante la instanciación de la clase:

<?php  
  
class X  
{  
   private $db;  
  
   public function __construct(\PDO $db)  
   {  
       $this->db = $db;  
   }  
  
   public function foo()  
   {  
       $stmt = $this->db->query(’SELECT...’);  
  
       // ...  
   }  
  
   // ...  
}

Este tipo de inyección se ajusta perfectamente a las dependencias obligatorias.

Como puede comprobar, el TypeHint (tipado de objetos) es PDO. Esto permite estar seguro de que el objeto pasado como argumento durante la instanciación es un objeto PDO o un objeto heredado de PDO.

Utilizar un TypeHint es parecido a pasar un “contrato”. Aquí, poco importa ...