2009-06-02 66 views
2

在Zend Framework 1.8中,建議如何在Zend Framework 1.8中註冊一個新插件?Zend框架1.8推薦的方式註冊一個插件?

<?php 
/** 
* Enter description here... 
* 
*/ 
class Wenbert_Controller_Plugin_CheckHasAccess extends Zend_Controller_Plugin_Abstract { 

    /** 
    * Enter description here... 
    * 
    * @param Zend_Controller_Request_Abstract $request 
    */ 
    public function preDispatch(Zend_Controller_Request_Abstract $request) { 
     echo 'This plugin is called...'; 
    } 
} 

我記得之前做1.8的版本是這樣的:

require_once 'Wenbert/Controller/Plugin/CheckHasAccess.php'; 
$frontController = Zend_Controller_Front::getInstance(); 
$frontController->registerPlugin(new Wenbert_Controller_Plugin_CheckHasAccess()); 

什麼是最好的/推薦的方式做到這一點的ZF 1.8?

在此先感謝!

-Wenbert

回答

5

我假設你是指Zend_Application做事的方式。你上面提到的方式絕對沒有錯。這就是說,你可以指定哪些插件在你的application.ini加載,就像這樣:

resources.frontController.plugins.foo = "My_Plugin_Foo" 
resources.frontController.plugins.bar = "My_Plugin_Bar" 

唯一的退縮,我知道的這種做法,是你無法控制的優先級(在位置插件堆棧)...但對於大多數情況(幾乎所有情況下)都無關緊要。

+1

更重要的是,你不能將對象插入你的插件=增加耦合。我寧願在引導過程中手動實例化和註冊。 – Cobby 2011-02-08 10:00:25