我想從二ZF2 DI擴展型「NULL」
$di = new Di();
$di->configure(new Config(array(/*etc*/));
$events = $di->get('Zend\EventManager\EventManager');
一個Zend\EventManager\EventManager
但是我得到這個錯誤
致命錯誤的接口錯誤無效的初始化程序:未捕獲的異常' Zend \ EventManager \ SharedEventManagerInterface「中的Zend \ Di \ Exception \ RuntimeException'消息'類型爲」NULL「的無效實例化器。
我相信這是因爲EventManagerInterface擴展了SharedEventManagerInterface?
我已經試過
'preferences' => array(
'Zend\EventManager\SharedEventManagerInterface'
=> 'Zend\EventManager\EventManager',
),
,並定義一個初始化
'Zend\EventManager\SharedEventManagerInterface' => array(
'instantiator' => 'Zend\EventManager\EventManager::__construct'
),
應該是什麼配置過度來到這個錯誤?
它並沒有很好的工作,我們有任何其他假設的配置值? – gawpertron 2013-03-06 13:36:58
奇怪。我自己試了一下(見https://gist.github.com/Ocramius/5099518),但它失敗了,因爲它嘗試注入某些東西,因爲EventManagerInterface ...雖然適用於ZF2'2.0。*'。 – Ocramius 2013-03-06 14:08:04
不用擔心,改爲使用服務管理器。 – gawpertron 2013-03-06 15:39:51