我的目標是將data_collector添加到我的類中,以便在開發人員工具欄上顯示一些有用的信息。 我的服務:Symfony2 ScopeCrossingInjectionException在使用原型範圍時
services:
my_api.auth.login:
class: YO\ApiV1\Services\Auth\Login
arguments:
- requestId
- "@old_sound_rabbit_mq.login_rpc"
- "@service_container"
scope: prototype
我需要範圍樣機有不同的實例爲每一個新的呼叫。順便說一下,service @ old_sound_rabbit_mq.login_rpc的範圍也是「原型」。 而且,我要附加data_collector,這可能與做:
tags:
- { name: data_collector, template: "AcmeDebug:Collector:templatename", id: "your_collector_name" }
但後來我得到了一個例外:
ScopeCrossingInjectionException:範圍跨越注入檢測: 定義「仿形」引用屬於另一範圍層次結構的服務「my_api.auth.login」 。該服務可能不是一致可用的 。通常,將 定義「分析器」移動到範圍「原型」或將「容器」聲明爲 「原型」的子範圍比較安全。如果您可以確定其他示波器 始終處於活動狀態,則可以將參考設置爲strict = false以排除此錯誤的 。
它讓我困惑,因爲我不知道該怎麼做。我試圖設置屬性「strict = false」,但沒有任何反應。
你有沒有發現@mactpo解決此更換? – senK 2014-06-26 11:50:10