내 젠드 프레임 워크 응용 프로그램에서 모듈 형 레이아웃을 사용하려고 다음과 같은 오류 받고 있어요에서 작동하도록하는 방법 : C에서 인증 :모듈은 젠드 프레임 워크
정의되지 않은 인덱스를 \ PHP \는 \ 젠드을 포함 \ 컨트롤러 \ 디스패처 \ Standard.php 라인 (385) 다음 코드는이 오류 전에 실행
: 내 부트 스트랩
if (!$this->_acl->isAllowed($role, $resource, $privilege)) {
$request->setModuleName('authentication');
$request->setControllerName('auth');
$request->setActionName('login');
$request->setDispatched(false);
}
, 내가 가진 :
$frontController
->setParam('environment', $this->environment)
->setControllerDirectory(ROOT_DIR . '/controllers')
->addModuleDirectory(ROOT_DIR . '/modules');
내 디렉토리 구조는 다음과 같습니다 이유가 작동하지 않습니다
/ application
/controllers
/models
/views
/library
/modules
/Authentication
/controllers
AuthController.php
어떤 생각?
감사합니다. 피터, 그 오류 메시지를 제거했습니다.PHP 치명적 오류 : 'Zend_Controller_Dispatcher_Exception'메시지가 'C : \ PHP \에 잘못된 컨트롤러 클래스 ("Authentication_AuthController")가 포함 된 예외가 발견되었습니다 : \ Zend \ Controller \ Dispatcher \ Standard.php : 353 기본 모듈을 정의하지 않았습니다. 응용 프로그램 디렉토리 아래에 응용 프로그램 별 파일을 그대로 둘 수 있다고 생각합니다. (위의 디렉토리 구조가 잘못되었다는 것을 알았습니다. 이제 모든 폴더를 응용 프로그램의 하위 폴더로 만들었습니다). – Iain
알았어 - 그냥 Controller와 반대되는 Module_Controller 규칙을 사용하여 컨트롤러 클래스의 이름을 지정해야하기 때문에 오류 메시지가 표시 되었습니까? 따라서 AuthController 대신 Authentication_AuthController를 사용하십시오. – Iain
맞습니다 - 컨트롤러 이름 앞에 모듈 이름을 추가해야합니다. –