《PHP實(shí)戰(zhàn):Zend Framework教程之Resource Autoloading用法實(shí)例》要點(diǎn):
本文介紹了PHP實(shí)戰(zhàn):Zend Framework教程之Resource Autoloading用法實(shí)例,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP編程本文實(shí)例講述了Zend Framework中Resource Autoloading用法.分享給大家供大家參考,具體如下:
PHP編程通常,在開發(fā)應(yīng)用程序中,可能類文件名不能依照標(biāo)準(zhǔn)Zend Framework的建議定義的,這意味著你的類文件不能被自動(dòng)加載器發(fā)現(xiàn).Zend_Loader_Autoloader_Resource提供了解決方案.
PHP編程資源僅僅是一個(gè)名稱對(duì)應(yīng)一個(gè)組件的命名空間(追加到自動(dòng)加載器的命名空間)和路徑(相對(duì)的自動(dòng)加載器的基本路徑),例如可以這樣:
PHP編程
$loader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Blog',
'basePath' => APPLICATION_PATH . '/modules/blog',
));
PHP編程具體實(shí)例如下:
PHP編程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
PHP編程創(chuàng)建資源裝載器:
PHP編程
$loader = new Zend_Loader_Autoloader_Resource(array(
'basePath' => 'path/to/some/resources/',
'namespace' => 'Foo',
));
PHP編程定義資源類型
PHP編程Zend_Loader_Autoloader_Resourse::addResourceType()有三個(gè)參數(shù):資源名稱,指定的資源路徑的相對(duì)資源路徑名, 資源類型組件前綴.
PHP編程在上面的樹,我們有三種資源類型:form(在子目錄forms中,資源前綴是Form),model(在子目錄models中,資源前綴是Model),并dbtable(在子目錄“models/DbTable”中,資源前綴是“Model_DbTable”).
PHP編程具體定義如下:
PHP編程
$loader->addResourceType('form', 'forms', 'Form')
->addResourceType('model', 'models', 'Model')
->addResourceType('dbtable', 'models/DbTable', 'Model_DbTable');
PHP編程也可以在構(gòu)造函數(shù)中指定
PHP編程
$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',
),
),
));
PHP編程使用以定義資源
PHP編程
$form = new Foo_Form_Guestbook();
$guestbook = new Foo_Model_Guestbook();
PHP編程模塊中的資源自動(dòng)加載
PHP編程Zend Framework的MVC鼓勵(lì)使用“modules”,模塊默認(rèn)情況下,通常有一些資源類型,Zend Framework提供了一個(gè)模塊的標(biāo)準(zhǔn)目錄布局.在這種范式中,資源自動(dòng)加載器非常有用,他們是默認(rèn)啟用的.
PHP編程模塊的基本目錄結(jié)構(gòu):
PHP編程<modulename>
??? configs/
??????? application.ini
??? controllers/
??????? helpers/
??? forms/
??? layouts/
??????? filters/
??????? helpers/
??????? scripts/
??? models/
??? services/
??? views/
??????? filters/
??????? helpers/
??????? scripts/
??? Bootstrap.php
PHP編程你可以擴(kuò)展Zend_Application_Module_Bootstrap創(chuàng)建一個(gè)模塊引導(dǎo)類 Bootstrap.php,具體的資源加載和默認(rèn)的資源加載使用類似.
PHP編程更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
PHP編程希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所贊助.
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP實(shí)戰(zhàn):Zend Framework教程之Resource Autoloading用法實(shí)例》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/7395.html