2010-06-05 5 views
0

나는 사용하기 전에 내가 require 클래스 일 때 잘 작동하는 간단한 ZF 애플리케이션 (모듈 없음)을 사용합니다. 그러나 ZF 자동 공급기를 사용하여 자동으로로드하고 싶습니다 (기본 동작이라고 가정).ZF 자동 로더를 사용하여 모델로드

어떻게해야합니까? 나는 조금 새로운 (째) Zend_Application 일을하는 방식으로 혼란 스럽다. 내 디렉토리 구조는 표준입니다 : 예를 들어

application/ 
    controllers/ 
    models/ 
    views/   
    scripts/ 
    Bootstrap.php 

는이 방법에서 필요로 제거 :

class HomeController extends Zend_Controller_Action { 
    public function indexAction() { 
     $tasks = array(); 

     //require 'models/Task.php'; 
     $tasks[] = new Application_Model_Task(array(...)); 
    } 
} 
+0

"zf"명령 줄 도구를 사용하여 응용 프로그램을 만들었습니까? 아니면 일반적인 디렉토리 구조를 따라 수동으로 항목을 만들었습니까? – Alistair

+0

관련 질문 http://stackoverflow.com/questions/2974996/zend-not-autoloading-models – robertbasic

+0

@Alistair zf를 사용했습니다. – Ross

답변

3

당신이 젠드 프레임 버전 1.8을 사용하는 경우 (+) 당신의 Bootstrap.php이를 넣어 :

지금
/** 
    * Initialize the autoloader 
    * 
    * @return Zend_Application_Module_Autoloader 
    */ 
    protected function _initAutoload() 
    { 
     $autoloader = new Zend_Application_Module_Autoloader(array(
       'namespace' => 'My', 
       'basePath' => dirname(__FILE__), 
     )); 

     return $autoloader; 
    } 

그리고 시도 :

$model = new My_Model_Task(); 
+0

저는 My with Application을 대체했으며 완벽하게 작동했습니다. - 감사합니다! – Ross

+0

괜찮습니다! "Application"을 ""로 대체하고 다음을 사용할 수도 있습니다. new Model_Task() – opHASnoNAME