Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Consejos sobre redundancia circular

2 de enero de 2016

Tengo el siguiente problema, cuando declaro los servicios de mi aplicación existe una redundancia ya que intentaba pasarle al listener el transaction_manager que dependía del entity manager. Leyendo un poco encontré que lo mejor era inyectar el container completo https://gist.github.com/webdevilopers/c94295b790b3ea5d3043

appbundle.transaction_manager:
            class: AppBundle\Model\TransactionLogManager
            arguments: [@doctrine.orm.entity_manager, %transactionlog.class_name%]
appbundle.transaction_listener:
            class: AppBundle\EventListener\TransactionLogListener
            arguments: [@request_stack, @service_container]
            tags:
                - { name: doctrine.event_listener, event: onFlush }

Entonces mi pregunta es:

Inicialmente había inyectado el request_stack para acceder al request pero ya que esta situación me obliga a inyectar el container completo, debería dejar solo como argumento el container y utilizarlo para acceder al request??


Respuestas

#1

En mi opinión sí que deberías pasar solo el servicio service_container y acceder a la petición a través de el. No es que la diferencia vaya a ser enorme, pero ya que en este caso estás obligado a pasar todo el contenedor, pues puedes hacer el pequeño esfuerzo adicional de quitar el argumento @request_stack redundante.

@javiereguiluz

3 enero 2016, 13:04