나는이 같은 대체 자동 로더를 사용하는 자동 로더를 설정 예를 들어 /var/www/arc/views/helpers/
에서 도우미를 읽으십시오.읽기 Zend_View_Helper_ *와 도우미 및 자동로드
fopen(/var/www/arc/views/helpers/Layout.php) [<a href='function.fopen'>function.fopen</a>]:
failed to open stream: No such file or directory in file /private/var/www/arc/ZendFramework-
1.9.5/library/Zend/Loader.php at line: 165
그것은 문제처럼 보인다 여기에 있습니다 : : 다음은 샘플 통지는
는["_prefixToPaths:protected"] => array(1) {
["Zend_View_Helper_"] => array(2) {
[0] => string(17) "Zend/View/Helper/"
[1] => string(34) "/var/www/arc/views/helpers/"
}
는 FallbackAutoloader 이런 일이 발생할 사용합니까? 잠재적 인 성능 문제 인 것 같습니다. 또한 Zend_View_Helper_ 네임 스페이스가 올바르게 해석되어야합니까? 내가 여기서 무엇을 놓치고 있니?
업데이트 : 아니요, Zend/View/Helper/Layout.php
이 있습니다.
어쩌면 Zend_Loader_Autoloader가 수행해야 할 사항이 누락되었습니다. (이 경우 문서가 다소 약하다고 생각합니다.) 예를 들어
, 내 application.ini 다음 파일을 조정하면 :
[production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 includePaths.library = APPLICATION_PATH "/../library" includePaths.models= APPLICATION_PATH "/models" includePaths.helper= APPLICATION_PATH "/controllers/helpers" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
및 출력의 include_path, 모델을, 디렉토리 경로하지만 클래스를로드하지 포함 명확하다. 나는 다음 부트 스트랩 _init 기능
$autoloader=Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);
이 잘로드에 다음을 추가하면
. 이전 상황에서는 네임 스페이스를 설정해야합니까? 첫 번째 의견에
: 여기가 출력 전류 값은 다음과 같습니다
Zend_Debug::dump($loader->isFallbackAutoloader(),'is fallback autoloader');
is fallback autoloader bool(false)
Zend_Debug::dump($loader->getDefaultAutoloader(),'default autoloader');
default autoloader array(2) {
[0] => &string(11) "Zend_Loader"
[1] => string(9) "loadClass"
}
Zend_Debug::dump($loader->getAutoloaders(),'autoloaders');
autoloaders array(0) {
}
오른쪽이지만 이것들은 파일이며, 사용 된 각 도우미의 올바른 경로 (즉, 젠드/뷰/도우미)에서 찾습니다. – timpone