>  기사  >  php教程  >  Zend Framework 튜토리얼의 리소스 자동 로딩 사용 예

Zend Framework 튜토리얼의 리소스 자동 로딩 사용 예

高洛峰
高洛峰원래의
2017-01-03 12:57:401186검색

이 기사의 예에서는 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 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.