2011-01-12 2 views
0

내 젠드 프레임 워크 설치는 다음과 같이이다 :접두어/네임 스페이스없이 내 ZF 모델 (응용 프로그램/모델)에 액세스 하시겠습니까?

나는이 같은 접두사 또는 네임 스페이스를 필요로하지 않고 내 모델에 액세스 할
/application 
    /modules 
    /models 
    /configs 
/library 
/public 

:

new User() // Would refer to /application/models/User.php 

을 나는 이것이 아주 간단한 문제입니다 알지만, 아직 그것을 파악할 수 없었습니다. 나는 또한 비슷한 질문을 많이 보았지만 아무 것도이 문제는 아니지만 기존 질문을 복제한다면 용서해주십시오.

지금까지, 나는 성공없이 내 부트 스트랩에 다음 ""성공없이 내 config.ini 파일에 appnamespace를 변경하고 를 추가하는 시도 : 보호 기능 _initAutoload() {

$autoloader = new Zend_Loader_Autoloader_Resource(array(
     'namespace' => '', 
     'basePath' => APPLICATION_PATH . '/models', 
    )); 

} 

감사! 당신은 대체 오토로더를 사용할 필요가

답변

3

.. 당신의 부트 스트랩 파일에서

(또는 어디든지 당신이 좋아), 이렇게 : 당신이 어떤 임의의 클래스를로드 할 수

protected function _initAutoloader() 
{ 
    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true); 
} 

귀하의 application.ini에 특정 자동로드 프리픽스를 등록한 경우에도 귀하의 경로.

명확히하기 위해 APPLICATION_PATH를 밀고 있는지 확인하십시오. 어떤 시점에서 include_path에 "/ models".

+0

감사합니다! 이것은 내 문제를 해결합니다. Zend는 성능을 저하시키고 오류를 유발할 수 있으므로 Fallback Autoloader 기능을 사용하지 말 것을 강력히 권고합니다. 그러나 필자의 경우에는 성능 저하 또는 오류 발생이 전혀 없습니다. 필자가 classname-to-filename 패턴을 엄격히 준수하는 한, 나는 괜찮을 것이라고 생각한다. – cjroth

+0

예. 오랫동안 문제없이 프로덕션 환경에서이 방법을 사용했습니다. 나는 나의 모델과 나의 폼을 위해 이것을한다. –