首頁  >  文章  >  php教程  >  Zend Framework教學之Resource Autoloading用法實例

Zend Framework教學之Resource Autoloading用法實例

高洛峰
高洛峰原創
2017-01-03 12:57:401186瀏覽

本文實例講述了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 // Foo_Model_DbTable_Guestbook
|   |-- Guestbook.php        // Foo_Model_Guestbook
|   `-- GuestbookMapper.php  // Foo_Model_|   `-- GuestbookMapper.php 


定義資源型別

Zend_Loader_Autoloader_Resourse::addResourceType()有三個參數:資源名稱,指定的資源路徑的相對資源路徑名, 資源類型元件前綴。

在上面的樹,我們有三種資源類型:form(在子目錄forms中,資源前綴是Form),model(在子目錄models中,資源前綴是Model),並dbtable(在子目錄“models/在DbTable」中,資源前綴是「Model_DbTable」)。

具體定義如下:

$loader = new Zend_Loader_Autoloader_Resource(array(
  'basePath' => 'path/to/some/resources/',
  'namespace' => 'Foo',
));

   

也可以在構造函數中指定

$loader->addResourceType('form', 'forms', 'Form')
    ->addResourceType('model', 'models', 'Model')
    ->addResourceType('dbtable', 'models/DbTable', 'Model_DbTable');

   

資源自動載入

Zend Framework的MVC鼓勵使用“modules”,模組預設情況下,通常有一些資源類型,Zend Framework提供了一個模組的標準目錄佈局。在這種範式中,資源自動載入器非常有用,他們是預設啟用的。

模組的基本目錄結構:

    configs/

        application.ini

     layouts/

        filters/

        helpers/

       

        filters/

        helpers/

        scripts/

  載入和預設的資源載入使用類似。

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

更多Zend Framework教程之Resource Autoloading用法實例相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn