Funciones reutilizables en controladores

En nuestros proyectos con Symfony necesitamos en muchas ocasiones, crear funciones reutilizables, que son utilizadas varias veces desde distintos Actions en nuestros Controllers.

En esta ocasión, vamos a crear una clase con varios métodos, creando un Service para una utilización más sencilla en todos los Controllers que deseemos.

1º Creamos las Funciones reutilizables

En primer lugar tenemos que crear la clase donde definimos todos los métodos que vamos a ir utilizando en nuestro proyecto Symfony.

Funciones.php

Si dentro de nuestro servicio necesitamos tener disponible, por ejemplo, EntityManager o Router (después tenemos que inyectarlos en la declaración del servicio):

2º Declaramos el servicio

services.yml

3º Utilización

Ahora ya solo nos falta utilizar los métodos que hemos definido en la clase configurada como servicio.

Este es un ejemplo dentro de un controlador:

Puedes ver un comentario, en la línea 12, para saber cual es el motivo por el que lo utilizo, lee el post Como utilizar netbeans “intellisense” en servicios de Symfony2.

Ya sabemos como hacerlo, ahora solo falta que incluyas todos los métodos que necesites reutilizar en tu proyecto.

Referencias

Este asunto lo he tratado en: