Zend Framework教程之資源(Resources)用法實(shí)例詳解
本文實(shí)例講述了Zend Framework教程之資源(Resources)用法。分享給大家供大家參考,具體如下:
Zend_Application_Resource_Resource
Zend_Application_Bootstrap_ResourceBootstrapper是引導(dǎo)類加載注冊(cè)資源插件使用的接口。
Zend_Application_Resource_Resource是一個(gè)資源插件接口。
Zend_Application_Resource_Resource通常被用于實(shí)現(xiàn)了Zend_Application_Bootstrap_ResourceBootstrapper的引導(dǎo)類中。
資源插件是一個(gè)可配置,預(yù)加載的和可以通過策略模式初始化資源的接口。
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 |
采用策略模式: 運(yùn)行,初始化資源. |
Zend_Application_Resource_ResourceAbstract
Zend_Application_Resource_ResourceAbstract是一個(gè)抽象類,實(shí)現(xiàn)了Zend_Application_Resource_Resource接口,為創(chuàng)建自定義插件資源提供了一個(gè)便捷的方式。
注:這個(gè)抽象類沒有實(shí)現(xiàn)init()方法,可以繼承使用這個(gè)抽象類,自定義實(shí)現(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 |
|
資源名稱
注冊(cè)插件資源時(shí),出現(xiàn)的一個(gè)問題是你應(yīng)該如何從父引導(dǎo)類。有三種不同的機(jī)制,可以使用,這取決于你是如何配置的引導(dǎo)和它的插件資源。
首先,如果你的插件名稱定義包含前綴路徑,您可以通過他們的“短名稱” - 即類的名稱的一部分。例如,類“Zend_Application_Resource_View”的短名稱是“View”,如果前綴路徑“Zend_Application_Resource”已注冊(cè)。您可能使用類的全名或短名稱注冊(cè)他們:
$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(), ), ));
以后可以使用短名稱引導(dǎo)資源和獲?。?/p>
$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(), ), ));
引導(dǎo)資源以及獲取方式
$bootstrap->bootstrap('My_Resource_View'); $view = $bootstrap->getResource('My_Resource_View');
這給我們帶來了第三個(gè)選項(xiàng)。您可以指定一個(gè)明確的名稱,將自己注冊(cè)為一個(gè)給定的資源類。這可以通過資源插件類增加 public $_explicitType的字符串值,該值將被用來指定引導(dǎo)插件資源。作為一個(gè)例子,讓我們來定義我們自己的視圖類:
class My_Resource_View extends Zend_Application_Resource_ResourceAbstract { public $_explicitType = 'My_View'; public function init() { // do some initialization... } }
然后,我們可以引導(dǎo)資源或通過它的名字“My_View”獲?。?/p>
$bootstrap->bootstrap('My_View'); $view = $bootstrap->getResource('My_View');
可以使用這些不同的命名方法,覆蓋現(xiàn)有資源,添加您自己的,混合是i用多種資源,以實(shí)現(xiàn)復(fù)雜的初始化等等。
更多關(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ù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php版微信公眾平臺(tái)實(shí)現(xiàn)預(yù)約提交后發(fā)送email的方法
這篇文章主要介紹了php版微信公眾平臺(tái)實(shí)現(xiàn)預(yù)約提交后發(fā)送email的方法,結(jié)合實(shí)例形式分析了php微信公眾平臺(tái)郵件發(fā)送的相關(guān)操作技巧,需要的朋友可以參考下2016-09-09用windows下編譯過的eAccelerator for PHP 5.1.6實(shí)現(xiàn)php加速的使用方法
用windows下編譯過的eAccelerator for PHP 5.1.6實(shí)現(xiàn)php加速的使用方法...2007-09-09Swoole-1.7.22 版本已發(fā)布,修復(fù)PHP7相關(guān)問題
swoole-1.7.22 版本已發(fā)布,此版本是一個(gè)BUG修復(fù)版本,專門針對(duì)PHP7做了大量修改,可完美運(yùn)行于PHP7環(huán)境2015-12-12laravel5實(shí)現(xiàn)微信第三方登錄功能
這篇文章主要介紹了laravel5實(shí)現(xiàn)微信第三方登錄功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12去掉destoon資訊內(nèi)容頁keywords關(guān)鍵字自帶的文章標(biāo)題的方法
這篇文章主要介紹了去掉destoon資訊內(nèi)容頁keywords關(guān)鍵字自帶的文章標(biāo)題的方法,有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08laravel實(shí)現(xiàn)一個(gè)上傳圖片的接口,并建立軟鏈接,訪問圖片的方法
今天小編就為大家分享一篇laravel實(shí)現(xiàn)一個(gè)上傳圖片的接口,并建立軟鏈接,訪問圖片的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10Zend Framework自定義Helper類相關(guān)注意事項(xiàng)總結(jié)
這篇文章主要介紹了Zend Framework自定義Helper類相關(guān)注意事項(xiàng),總結(jié)分析了編寫自定義Helper類的相關(guān)原則與實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-03-03Mac版PhpStorm之XAMPP整合apache服務(wù)器配置的圖文教程詳解
選擇在PhpStorm集成apache服務(wù)器,但是很多朋友不知道是如何操作的,下面小編分步驟通過圖文的形式給大家介紹Mac版PhpStorm之XAMPP整合apache服務(wù)器配置的教程,感興趣的朋友一起看看吧2016-10-10