젠드 프레임 워크에 대해 문서화하기 시작했습니다. 젠드 프레임 워크를 곧 상용화하기 시작할 것입니다. 내가 모델을 사용하고 작업하기 전까지 모든 것이 잘 작동했다. :).젠드 프레임 워크 모델 위치 및 자동 로딩
Zend 권장 사항에 따라 모델의 기본 위치는 application/models/DbTable
이며 모든 모델이 포함됩니다.이 위치에서는 Application_Model_DbTable_Actors
과 같은 모델 이름을 지정해야합니다. 나를 위해, 이것은 모델을위한 아주 긴 이름이고 사용하기 쉬운 것은 아닙니다.
내가 가져올 디렉토리 구조는 다음과 같이 보입니다 :
application/
models/
actors/
ActorsMapper.php
Actor.php
books/
BooksMapper.php
Book.php
등
그래서 내 모든 모델은models
디렉토리 아래에있는 것,하지만 자신의 디렉토리에 그룹화합니다.
각 클래스의 이름은 ActorsMapper
또는 Actor
이어야합니다 (이 둘은 모두 Zend_Db_Table
또는 Zend_Db_Row
까지 확장됩니다).
사실 제 컨트롤러에서 $actors = new ActorsMapper()
과 같은 것을 사용하여 모델을 인스턴스화하면 나는 Fatal error: Class not found
을 얻을 것이고, 왜 내가이 문제에 도움을 요청하고 있는지 알고 있습니다.
내가 include_path를 내 models
디렉토리를 추가하려고이 문제를 해결하기 위해 :
먼저
이
을 application.ini하는 includePaths.models = APPLICATION_PATH "/models"
을 추가하려고하지만,이 사람은 '아무튼 포함 경로에 추가하십시오.
초 시도는 :
는 명시 적으로이 포함 된 것들 중 그 경로를 추가하는 경우에도set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), realpath(APPLICATION_PATH . '/models'), get_include_path(), )));
가
하지만, 오류가 계속 사용하여 경로를 추가했다.
이 모델의 official documentation은 Zend_Db_Table
입니다. 그러나 모델을 자동로드하는 것과 관련된 항목을 찾을 수 없습니다.
모든 솔루션을 제공해 주셔서 감사합니다.
p.s. 젠드 프레임 워크 버전은 1.11.1
오토로더를 파고 확장하여이 디렉토리 구조 및 네임 스페이스를 인식해야합니다. 그렇지 않으면 당신은 zend way에 묶여 있습니다. –
오케이, 이것이 유일한 방법 인 것 같습니다. 감사! 귀하의 회신에 감사드립니다. – misterjinx