Índice

Crear un servicio y configurar sus inyecciones

1. Crear un servicio

El medio más sencillo para crear un servicio, es configurarlo a través del archivo app/config/services.yml.

Los servicios se deben definir en la clave services:

# app/config/services.yml  
  
services:  
   my_pdo:  
       class: PDO  
       arguments: [’mysql:host=localhost’, ’bilal’, ’pass’]

Esta configuración creará un servicio my_pdo, que es una instancia de PDO (clave class). Los argumentos pasados al constructor se definen en la clave arguments. Concretamente, con esta configuración el servicio my_pdo será creada de esta manera:

<?php  
  
$service = new PDO(’mysql:host=localhost’, ’bilal’, ’pass’);

2. Inyección por constructor

Una vez configurado el servicio my_pdo, se puede inyectar en otro servicio a través del constructor, por ejemplo (ver La inyección de dependencias por el constructor, anteriormente en este capítulo):

# app/config/services.yml  
  
services:  
   my_pdo:  
       class: PDO  
       arguments: [’mysql:host=localhost’, ’bilal’, ’pass’]  
   x:  
       class: X  
       arguments: @my_pdo

Entonces, ...