是否可以設置事件偵聽器(或者做其他事情?)來偵聽由Symfony 2 AppKernel
應用程序針對特定請求觸發的事件全部?收聽Symfony 2中的所有事件
也就是說,我知道我可以app_dev.php
瀏覽應用程序,並使用Profiler來查看所有聽衆的名單,但我感興趣的是抓住每一個已經派出/解僱事件的列表。我知道一些事件系統有一個特殊的全局/所有的監聽器,它可以讓我接收每一個事件。我想知道Symfony是否有類似的東西,或者是否有另一種機制來獲取特定頁面上所有可用事件的列表。
我也知道我可以添加一些臨時調試代碼到事件的一個調度類
Symfony/Component/EventDispatcher/EventDispatcher.php
Symfony/Component/HttpKernel/Debug/ContainerAwareTraceableEventDispatcher.php
Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php
但我正在尋找的東西,就是少了黑客/更少破壞性的。
Symfony的新手,但對編程並不陌生。道歉,如果這是一個天真的問題,但谷歌搜索沒有透露我後。
謝謝 - 這正是我一直在尋找的。一個跟進的問題主要是關於主題而非切題。我的包是否會自動查找'config_prod.yml','config_dev.yml'等,還是由我來讓我的包做到這一點? –
你必須告訴你的軟件包在 /DependencyInjection/BundleNameExtension.php找到的軟件包擴展中加載哪些配置文件。如果文件命名正確,該文件的'load()'方法將由symfony自動執行。那裏自然沒有環境特定的邏輯 –
nifr