이 기사의 예에서는 Zend Framework의 리소스 자동 로딩 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
일반적으로 애플리케이션을 개발할 때 표준 Zend Framework 권장 사항에 따라 클래스 파일 이름이 정의되지 않을 수 있습니다. Discover 로더에 의해 자동으로 로드됩니다. Zend_Loader_Autoloader_Resource가 솔루션을 제공합니다.
리소스는 구성 요소의 네임스페이스(오토로더에 추가된 네임스페이스) 및 경로(오토로더의 기본 경로 기준)에 해당하는 이름일 뿐입니다.
$loader = new Zend_Application_Module_Autoloader(array( 'namespace' => 'Blog', 'basePath' => APPLICATION_PATH . '/modules/blog', ));
구체적인 예는 다음과 같습니다.
path/to/some/resources/
|-- form/
| `-- Guestbook.php // Foo_Form_Guestbook
|-- models/
| `-- Guestbook.php // Foo_Model_DbTable_Guestbook
| >| `-- GuestbookMapper.php // Foo_Model_GuestbookMapper
리소스 로더 생성:
$loader = new Zend_Loader_Autoloader_Resource(array( 'basePath' => 'path/to/some/resources/', 'namespace' => 'Foo', ));
리소스 유형 정의
Zend_Loader_Autoloader_Resourse::addResourceType()에는 리소스 이름, 지정된 리소스 경로의 상대 리소스 경로 이름, 리소스 유형 구성 요소 접두사라는 세 가지 매개 변수가 있습니다.
위 트리에는 세 가지 리소스 유형이 있습니다. 양식(하위 디렉터리에서 양식의 리소스 접두사는 Form), 모델(하위 디렉터리의 모델에서는 리소스 접두사는 모델) 및 dbtable(models 하위 디렉터리에서 리소스 접두사는 Model입니다.) "models/DbTable" 디렉터리에서 리소스 접두사는 "Model_DbTable"입니다.
은 구체적으로 다음과 같이 정의됩니다.
$loader->addResourceType('form', 'forms', 'Form') ->addResourceType('model', 'models', 'Model') ->addResourceType('dbtable', 'models/DbTable', 'Model_DbTable');
은 생성자
에서도 지정할 수 있습니다. 🎜>$resourceLoader = new Zend_Loader_Autoloader_Resource(array( 'basePath' => 'path/to/some/directory', 'namespace' => 'My', 'resourceTypes' => array( 'acl' => array( 'path' => 'acls/', 'namespace' => 'Acl', ), 'form' => array( 'path' => 'forms/', 'namespace' => 'Form', ), 'model' => array( 'path' => 'models/', 'namespace' => 'Model', ), ), ));리소스 정의에 사용
$form = new Foo_Form_Guestbook(); $guestbook = new Foo_Model_Guestbook();모듈의 리소스가 자동으로 로드됩니다. Zend Framework의 MVC 모듈은 일반적으로 기본적으로 일부 리소스 유형을 사용하는 것이 좋습니다. Zend Framework는 모듈에 대한 표준 디렉터리 레이아웃을 제공합니다. 이 패러다임에서는 리소스 자동 로더가 매우 유용하며 기본적으로 활성화되어 있습니다. 모듈의 기본 디렉터리 구조: d2397dd86d29a9a1cff681f5f46c559c
configs/
application.ini Controllers/
form/
layouts/
필터/
> Scripts/
Bootstrap.php
Zend_Application_Module_Bootstrap을 확장하여 모듈 부팅 클래스 Bootstrap.php를 생성할 수 있습니다. 특정 리소스 로딩은 기본 리소스 로딩과 유사합니다. .
이 글이 PHP 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.
Zend Framework 튜토리얼 리소스 자동 로딩 사용 예와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!