我在2.0.4上。無法在Zend Framework 2中訪問ServiceManager
我的文件:
https://gist.github.com/4191490
據當時http://framework.zend.com/manual/2.0/en/modules/zend.service-manager.quick-start.html
的文檔。如果一個類實現ServiceManagerAwareInterface,那麼它的對象將與服務管理器初始化。我做了同樣的事情(請參閱我的源代碼中的BaseEntity.php)。但是,服務管理器從未初始化過,因此無法從子類Snippet中獲得。
問題:如何檢索全局或模塊的ServireManager實例,以便我可以訪問其他服務? (他們大多是單身)
實際上ServiceManagerAwareInterface是一個在使用時,隨着的ServiceManager傳遞到Module.php中的工廠方法,而不是ServiceLocator。問題在於ServiceManagerAwareInterface沒有自動初始化,所以我最終手動初始化了所有實例,正如DrBeza所建議的那樣。 – thoaionline
實際上,ServiceManagerAwareInterface已棄用。相反,請使用ServiceLocatorAwareInterface,因爲ServiceManager是具體的ServiceLocator – Xerkus