Hoy vamos a ver como crear servicios en Symfony3 para encapsular mejor nuestro código y separar funcionalidades, esto nos puede ser de mucha utiliza en el desarrollo de servicios rest o aplicaciones backend, etc como vemos aquí.
Paso 1. Creamos un directorio dentro de nuestro bundle llamado Services.
Paso 2. Crear un fichero para la clase, en mi caso crearé uno que se llame Helpers.
Paso 3. Creamos la clase, con los métodos y la funcionalidad que necesitemos, en mi caso para hacer la prueba, simplemente tendré un método.
<?php namespace AppBundle\Services; class Helpers { public function hola(){ return "Hola desde el servicio"; } }
Paso 4. Configurar el servicio en el fichero app/config/services.yml
services: app.helpers: class: AppBundle\Services\Helpers arguments: ["null"]
Le estamos indicando el nombre o identificador del servicio, la clase a cargar y los argumentos u otros servicios que recibirá este servicio.
Ahora en una de nuestras acciones de cualquier controlador del proyecto podemos llamar al servicio
$helpers = $this->get("app.helpers"); echo $helpers->hola();
Con esto ya sabemos crear servicios en Symfony3 y ya podremos empezar a crear algunos más complejos.