Zend Framework教程之資源(Resources)用法實例詳解
本文實例講述了Zend Framework教程之資源(Resources)用法。分享給大家供大家參考,具體如下:
Zend_Application_Resource_Resource
Zend_Application_Bootstrap_ResourceBootstrapper是引導類加載注冊資源插件使用的接口。
Zend_Application_Resource_Resource是一個資源插件接口。
Zend_Application_Resource_Resource通常被用于實現(xiàn)了Zend_Application_Bootstrap_ResourceBootstrapper的引導類中。
資源插件是一個可配置,預加載的和可以通過策略模式初始化資源的接口。
Zend_Application_Resource_Resource Interface
| Method | Return Value | Parameters | Description |
|---|---|---|---|
| __construct($options = null) | Void |
|
|
| setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap) | Zend_Application_Resource_Resource |
|
|
| getBootstrap() | Zend_Application_Bootstrap_Bootstrapper | N/A |
|
| setOptions(array $options) | Zend_Application_Resource_Resource |
|
|
| getOptions() | Array | N/A |
|
| init() | Mixed | N/A |
采用策略模式: 運行,初始化資源. |
Zend_Application_Resource_ResourceAbstract
Zend_Application_Resource_ResourceAbstract是一個抽象類,實現(xiàn)了Zend_Application_Resource_Resource接口,為創(chuàng)建自定義插件資源提供了一個便捷的方式。
注:這個抽象類沒有實現(xiàn)init()方法,可以繼承使用這個抽象類,自定義實現(xiàn)init方法。
Zend_Application_Resource_ResourceAbstract Methods
| Method | Return Value | Parameters | Description |
|---|---|---|---|
| __construct($options = null) | Void |
|
|
| setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap) | Zend_Application_Resource_ResourceAbstract |
|
|
| getBootstrap() | Zend_Application_Bootstrap_Bootstrapper | N/A |
|
| setOptions(array $options) | Zend_Application_Resource_ResourceAbstract |
|
|
| getOptions() | Array | N/A |
|
資源名稱
注冊插件資源時,出現(xiàn)的一個問題是你應該如何從父引導類。有三種不同的機制,可以使用,這取決于你是如何配置的引導和它的插件資源。
首先,如果你的插件名稱定義包含前綴路徑,您可以通過他們的“短名稱” - 即類的名稱的一部分。例如,類“Zend_Application_Resource_View”的短名稱是“View”,如果前綴路徑“Zend_Application_Resource”已注冊。您可能使用類的全名或短名稱注冊他們:
$app = new Zend_Application(APPLICATION_ENV, array(
'pluginPaths' => array(
'My_Resource' => 'My/Resource/',
),
'resources' => array(
// if the following class exists:
'My_Resource_View' => array(),
// then this is equivalent:
'View' => array(),
),
));
以后可以使用短名稱引導資源和獲取:
$bootstrap->bootstrap('view');
$view = $bootstrap->getResource('view');
其次,如果沒有匹配的插件路徑的定義,你可能仍然通過使用資源類的全名。在這種情況下,你可以參考如下使用資源的完整類名:
$app = new Zend_Application(APPLICATION_ENV, array(
'resources' => array(
// This will load the standard 'View' resource:
'View' => array(),
// While this loads a resource with a specific class name:
'My_Resource_View' => array(),
),
));
引導資源以及獲取方式
$bootstrap->bootstrap('My_Resource_View');
$view = $bootstrap->getResource('My_Resource_View');
這給我們帶來了第三個選項。您可以指定一個明確的名稱,將自己注冊為一個給定的資源類。這可以通過資源插件類增加 public $_explicitType的字符串值,該值將被用來指定引導插件資源。作為一個例子,讓我們來定義我們自己的視圖類:
class My_Resource_View extends Zend_Application_Resource_ResourceAbstract
{
public $_explicitType = 'My_View';
public function init()
{
// do some initialization...
}
}
然后,我們可以引導資源或通過它的名字“My_View”獲?。?/p>
$bootstrap->bootstrap('My_View');
$view = $bootstrap->getResource('My_View');
可以使用這些不同的命名方法,覆蓋現(xiàn)有資源,添加您自己的,混合是i用多種資源,以實現(xiàn)復雜的初始化等等。
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關(guān)文章
Laravel5.1框架自帶權(quán)限控制系統(tǒng) ACL用法分析
這篇文章主要介紹了Laravel5.1框架自帶權(quán)限控制系統(tǒng) ACL用法,結(jié)合實例形式分析了laravel5.1相關(guān)的角色創(chuàng)建、權(quán)限分配等相關(guān)操作技巧,需要的朋友可以參考下2019-12-12
如何使用jQuery+PHP+MySQL來實現(xiàn)一個在線測試項目
本文將結(jié)合實例給大家介紹如何使用jQuery+PHP+MySQL來實現(xiàn)在線測試題,包括動態(tài)讀取題目,答題完畢后臺評分,并返回答題結(jié)果。2015-04-04
PHP unlink與rmdir刪除目錄及目錄下所有文件實例代碼
這篇文章主要介紹了PHP unlink與rmdir刪除目錄及目錄下所有文件的實例代碼,需要的朋友可以參考下2018-02-02
ubutu 16.04環(huán)境下,PHP與mysql數(shù)據(jù)庫,網(wǎng)頁登錄驗證實例講解
下面小編就為大家?guī)硪黄猽butu 16.04環(huán)境下,PHP與mysql數(shù)據(jù)庫,網(wǎng)頁登錄驗證實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

