Sobreescribir un servicio en Symfony2

Una guía de los pasos a seguir cuando es necesario sobreescribir un servicio en Symfony2.

1. Estudiar la Clase a reemplazar y su Servicio

Hay que comprobar que heredando de la clase en cuestión podemos cumplir nuestras necesidades.

Habrá que cambiar el nombre de la Clase del Servicio. Si no está difinida como parámetro, necesitaremos un CompilerPass para sobreescribirlo.

2. Crear un CompilerPass

Crear el CompilerPass.

3. Registrar el nuevo CompilerPass en nuestro Bundle

Registrarlo.

4. Crear nuestra clase

Extender la Clase sustituida en el Servicio y adaptar los métodos a nuestras necesidades.

Fuentes:
How to Override any Part of a Bundle
How to work with Compiler Passes in Bundles

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>