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

Zend Framework教程之資源(Resources)用法實例詳解

編輯:PHP綜合

本文實例講述了Zend Framework教程之資源(Resources)用法。分享給大家供大家參考,具體如下:

Zend_Application_Resource_Resource

Zend_Application_Bootstrap_ResourceBootstrapper是引導類加載注冊資源插件使用的接口。
Zend_Application_Resource_Resource是一個資源插件接口。
Zend_Application_Resource_Resource通常被用於實現了Zend_Application_Bootstrap_ResourceBootstrapper的引導類中。

資源插件是一個可配置,預加載的和可以通過策略模式初始化資源的接口。

Zend_Application_Resource_Resource Interface
Method Return Value Parameters Description __construct($options = null) Void

  • $options:可選. 配置資源.

 

setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap) Zend_Application_Resource_Resource
  • $bootstrap:必填. 初始化資源的父引導類

 

getBootstrap() Zend_Application_Bootstrap_Bootstrapper N/A


setOptions(array $options) Zend_Application_Resource_Resource
  • $options:必填. 配置選項.

 

getOptions() Array N/A

 

init() Mixed N/A

采用策略模式: 運行,初始化資源.


Zend_Application_Resource_ResourceAbstract

Zend_Application_Resource_ResourceAbstract是一個抽象類,實現了Zend_Application_Resource_Resource接口,為創建自定義插件資源提供了一個便捷的方式。

注:這個抽象類沒有實現init()方法,可以繼承使用這個抽象類,自定義實現init方法。

Zend_Application_Resource_ResourceAbstract Methods

Method Return Value Parameters Description __construct($options = null) Void

  • $options:可選. 配置資源

 

setBootstrap(Zend_Application_Bootstrap_Bootstrapper $bootstrap) Zend_Application_Resource_ResourceAbstract
  • $bootstrap:必填.  

 

getBootstrap() Zend_Application_Bootstrap_Bootstrapper N/A

 

setOptions(array $options) Zend_Application_Resource_ResourceAbstract
  • $options:必填.  

 

getOptions() Array N/A

 


資源名稱

注冊插件資源時,出現的一個問題是你應該如何從父引導類。有三種不同的機制,可以使用,這取決於你是如何配置的引導和它的插件資源。

首先,如果你的插件名稱定義包含前綴路徑,您可以通過他們的“短名稱” - 即類的名稱的一部分。例如,類“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”獲取:

$bootstrap->bootstrap('My_View');
$view = $bootstrap->getResource('My_View');

可以使用這些不同的命名方法,覆蓋現有資源,添加您自己的,混合是i用多種資源,以實現復雜的初始化等等。

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

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

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