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
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