2010-03-23 2 views
0

모듈 오토로더를 사용하여 리소스 (폼, Doctrine 모델 등)를 자동로드합니다. Zend_Db_Table을 전혀 사용하지 않습니다.젠드 프레임 워크 : 기본 모델 테이블의 자동 로딩 비활성화

Doctrine 모델을로드 할 때 예. MyModule_Model_Test, MyModule_Model_TestTable도로드하려고하므로 MyModule_Model_TestTable.php이 누락되었다는 오류가 발생합니다.

이 문제를 해결하려면 빈 클래스 MyModule_Model_TestTable 클래스를 만들고 모든 것이 예상대로 작동 할 수 있습니다.
하지만이 파일이 필요하지 않습니다. 나는 그것의 이름이나 내용을 변경하지 않고 /anyDirDeeper/MyModule_Model_TestTable-MyModule_Model_TestTable를 이동할 때, 클래스가 올바르게 너무 넣었는지

이상한 ...

그래서이 ... 표 클래스가 필요하지 않습니다 어떻게 모듈 자동 로더를 구성하는 방법?

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] = 

그리고 모듈 부트 스트랩 : 내 application.ini에있는

class MyModule_Bootstrap extends Zend_Application_Module_Bootstrap {} 

내 응용 프로그램의 구조는 다음과 유사합니다

/application/ 
    /modules/ 
     /mymodule/ 
      /models/ 
       /Db/ 
        *Mymodule_Model_Db_Test* 
      *Mymodule_Model_Test* 
+0

Doctrine Models with Modules을로드하는 좋은 방법이 없다는 것을 알고 있지만 Doctrine Models을로드하려고 시도한 내용을 읽은 후에 을 읽은 후에는 Doctrine Bootstrap 코드를 모듈로 옮기는 데 영감을 받았습니다. 귀하의 질문에 대답 : (그리고 난 아직 그것을 테스트하지 않은하지만 흥미로운 소리 – tawfekov

+0

그것은 부트 스트랩에서 모델을 자동로드 할 때 작동하지만 컨트롤러의 행동에 ...하지 않습니다 – takeshin

답변

0

나는이 문제가 생각 동일한 모듈 이름과 자원 유형 이름 (기본적으로 등록되어 있음)을 사용했기 때문에 생성되었습니다.

모델의 이름은 Acl_Model_ModelnameAcl_입니다. 이름 공간이 자동 로더에 등록되었습니다. 모델 네임 스페이스를 다른 것으로 변경하면 작동합니다.