程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Zend Framework教程之Resource Autoloading用法實例

Zend Framework教程之Resource Autoloading用法實例

編輯:PHP綜合

本文實例講述了Zend Framework中Resource Autoloading用法。分享給大家供大家參考,具體如下:

通常,在開發應用程序中,可能類文件名不能按照標准Zend Framework的建議定義的,這意味著你的類文件不能被自動加載器發現。Zend_Loader_Autoloader_Resource提供了解決方案。

資源僅僅是一個名稱對應一個組件的命名空間(追加到自動加載器的命名空間)和路徑(相對的自動加載器的基本路徑),例如可以這樣:

$loader = new Zend_Application_Module_Autoloader(array(
  'namespace' => 'Blog',
  'basePath' => APPLICATION_PATH . '/modules/blog',
));

具體實例如下:

path/to/some/resources/
|-- forms/
|   `-- Guestbook.php        // Foo_Form_Guestbook
|-- models/
|   |-- DbTable/
|   |   `-- Guestbook.php    // Foo_Model_DbTable_Guestbook
|   |-- Guestbook.php        // Foo_Model_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(在子目錄forms中,資源前綴是Form),model(在子目錄models中,資源前綴是Model),並dbtable(在子目錄“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鼓勵使用“modules”,模塊默認情況下,通常有一些資源類型,Zend Framework提供了一個模塊的標准目錄布局。在這種范式中,資源自動加載器非常有用,他們是默認啟用的。

模塊的基本目錄結構:

<modulename>
    configs/
        application.ini
    controllers/
        helpers/
    forms/
    layouts/
        filters/
        helpers/
        scripts/
    models/
    services/
    views/
        filters/
        helpers/
        scripts/
    Bootstrap.php

你可以擴展Zend_Application_Module_Bootstrap創建一個模塊引導類 Bootstrap.php,具體的資源加載和默認的資源加載使用類似。

更多關於zend相關內容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優秀開發框架總結》、《Yii框架入門及常用技巧總結》、《ThinkPHP入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved