컨트롤러 도우미가 preDispatch 메소드를 사용하여 일부 컨트롤러에서 유사한 기능을 갖도록 만들려고합니다.젠드 컨트롤러 액션 도우미 문제가 도우미를 추가 할 수 없습니다.
오류 : 내가 추가 한 부트 스트랩에서
Fatal error: Class 'Helper_Action_Test' not found in /var/www/zend.dev/application/Bootstrap.php on line 9`
응용 프로그램 레이아웃
/Application
/Helpers
**/Actions** this is where i will save the classes
/Views
/modules
/configs
/layouts
/Bootstrap.php
:
protected function _initActionHelpers(){
Zend_Controller_Action_HelperBroker::addHelper(new Helper_Action_Test());
}
도우미 파일에서 내가 가진 :
class Helper_Action_Test extends Zend_Controller_Action_Helper_Abstract{
public function preDispatch() {
echo 'Test';
}
}
,536,
부트 스탑에서이 작업을 수행 할 때 include 또는 addHelper()를 사용하여 새 클래스를 인스턴스화하는 방법과 관련이있을 수 있습니다.
include(APPLICATION_PATH.'/helpers/action/Test.php');
Zend_Controller_Action_HelperBroker::addHelper(new Test());
아이디어가 있으십니까?
안녕 제프, 당신의 답장을 보내 주셔서 감사합니다. 이 경우 Helpers 폴더를 라이브러리 폴더에 넣어야합니까? – snakeyyy
이렇게하면 네, 도우미를 라이브러리 폴더에 넣어야합니다. 도우미를 저장하는 방법을 사용하려면 Zend_View_Helper_HelperName 클래스를 만들고 Zend_View_Helper_Abstract 클래스를 확장하고 Public 메서드를 HelperName()이라고하고 뷰에서 $ this-> helperName()을 호출 할 수 있습니다. –
이들은 다음과 같습니다. 액션 헬퍼가 있지만 액션 컨트롤러를 가져 오기 위해 Zend_Controller_Action_Helper_Abstract를 확장해야합니다. – snakeyyy