Zend框架1.8推荐注册插件的方法?

wen*_*ert 2 zend-framework

在Zend Framework 1.8中,在Zend Framework 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...';
    }
}
Run Code Online (Sandbox Code Playgroud)

我记得在1.8之前的版本中做过类似的事情:

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

在ZF 1.8中进行此操作的最佳/推荐方法是什么?

提前致谢!

-Wenbert

jas*_*son 5

我假设你的意思是Zend_Application做事的方式.你上面提到的方式绝对没有错.也就是说,您可以在application.ini中指定要加载的插件,如下所示:

resources.frontController.plugins.foo = "My_Plugin_Foo"
resources.frontController.plugins.bar = "My_Plugin_Bar"
Run Code Online (Sandbox Code Playgroud)

我用这种方法知道的唯一缺点就是你无法控制插件的优先级(插件堆栈中的位置)......但对于大多数(几乎所有情况)都无关紧要.