Mi objetivo es agregar data_collector a mis clases para mostrar información útil en la barra de herramientas del desarrollador. Mis servicios:Symfony2 ScopeCrossingInjectionException cuando utiliza prototipo de alcance
services:
my_api.auth.login:
class: YO\ApiV1\Services\Auth\Login
arguments:
- requestId
- "@old_sound_rabbit_mq.login_rpc"
- "@service_container"
scope: prototype
necesito prototipo alcance para tener diferente para cada instancia nueva llamada. Por cierto, service @ old_sound_rabbit_mq.login_rpc también tiene alcance "prototype". Y, me gustaría adjuntar data_collector, lo que podría hacerse con:
tags:
- { name: data_collector, template: "AcmeDebug:Collector:templatename", id: "your_collector_name" }
Pero entonces me dieron una excepción:
ScopeCrossingInjectionException: Alcance de inyección Cruzar detectado: La definición "Profiler" hace referencia al servicio "my_api.auth.login" que pertenece a otra jerarquía de alcance. Este servicio podría no estar disponible en de manera consistente. En general, es más seguro mover la definición "profiler" al alcance "prototype", o declarar "container" como un ámbito secundario de "prototype". Si puede estar seguro de que el otro ámbito está siempre activo, puede establecer la referencia a strict = false para deshacerse de este error .
Y me confunde, porque no sé qué hacer. Traté de establecer la propiedad "strict = false", pero no pasa nada.
@mactpo has encontrado solución para esto? – senK