Amacım, geliştirici araç çubuğu hakkında yararlı bilgiler görüntülemek için sınıflarıma data_collector eklemektir. Benim hizmeti:Symfony2 ScopeCrossingInjectionExtype kapsamı kullandığınızdaException
services:
my_api.auth.login:
class: YO\ApiV1\Services\Auth\Login
arguments:
- requestId
- "@old_sound_rabbit_mq.login_rpc"
- "@service_container"
scope: prototype
Her yeni çağrı için farklı örneğini olması kapsam prototip gerekir. Bu arada, servis @ old_sound_rabbit_mq.login_rpc de kapsamı "prototip" var.
tags:
- { name: data_collector, template: "AcmeDebug:Collector:templatename", id: "your_collector_name" }
Ama sonra bir istisna var:
ScopeCrossingInjectionException: Kapsam Geçişi Enjeksiyon algılandı: tanımı "profil" , ben ile yapılabilirdi data_collector, iliştirmek istiyorum Başka bir kapsam hiyerarşisine ait olan "my_api.auth.login" hizmetine başvurur. Bu hizmet, tutarlı olarak olmayabilir. Genellikle, "prototip" kapsamı için "profiler" tanımını tanımlamak ya da "prototip" in bir alt kapsamı olan olarak "kapsayıcı" olarak bildirmek daha güvenlidir. Diğer kapsamın her zaman etkin olduğundan emin olabilirseniz, bu hatanın kurtulmasını sağlamak için başvuruyu strict = false olarak ayarlayabilirsiniz.
Ve kafam karıştı, çünkü ne yapacağımı bilmiyorum. "Strict = false" özelliğini ayarlamaya çalıştım ama hiçbir şey olmuyor.
aldı? – senK