3
我想在我的ZF2項目中將學說實體管理器放到許多不同的類中。從而。我已經安裝在我的Module.php
以下初始化:控制器在初始化程序關閉時不會被調用
'initializers' => array(
function ($instance, $services) {
if (is_object($instance)) { // just for debugging
var_dump(get_class($instance));
}
if (!$instance instanceof EntityManagerAwareInterface) {
return;
}
$entityManager = $services->get('doctrine.entitymanager.orm_default');
$instance->setEntityManager($entityManager);
},
),
)
然而,它永遠不會被調用我的AuthController
即使我訪問該控制器的網站(和得到一個空指針異常,因爲沒有設置實體管理器)。當然,控制器確實實現了所需的接口:
class AuthController extends AbstractActionController implements EntityManagerAwareInterface
還有什麼我需要配置,使我AuthController
是對初始封閉檢查?
目前我有它在invokables在module.config.php
。
'controllers' => array(
'invokables' => array(
'Auth\Controller\Auth' => 'Auth\Controller\AuthController',
),
),
當我從那裏刪除它時,應用程序無法再找到該類。
我的調試輸出列出了針對初始化程序,許多管理程序和服務進行檢查的其他類。小摘錄:
string(37) "Zend\\Mvc\\Controller\\ControllerManager"
string(33) "Zend\\Mvc\\Controller\\PluginManager"
string(29) "Zend\\View\\HelperPluginManager"
[...]
string(24) "Doctrine\\DBAL\\Connection"
string(26) "Doctrine\\ORM\\EntityManager"
string(41) "Zend\\Authentication\\AuthenticationService"