Doctrine 엔티티 관리자를 내 ZF2 프로젝트의 여러 클래스에 넣으 려합니다. 그러므로. 때문에, 내가 그 컨트롤러의 사이트를 방문 (그리고 널 포인터 예외가 발생하고있다하더라도이니셜 라이저 클로저에서 컨트롤러가 호출되지 않음
그러나'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
에 호출되지 없구요 : 나는 내 Module.php
에 초기화을 다음과 같은 설정을 가지고 엔티티 관리자가 설정되지 않았습니다). 내 AuthController
가 초기화 폐쇄에 대해 검사되도록 구성해야 다른 아무것도
class AuthController extends AbstractActionController implements EntityManagerAwareInterface
있습니까 : 물론, 컨트롤러는 필요한 인터페이스를 구현합니까?
현재 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"