我有一个代码片段,用于检查用户登录并获取整个站点的导航等。我有一些控制器,我想要所有这些代码段。每当我改变一些东西时,我厌倦了一次改变所有这些。在我的其他一个项目中,我看到它以某种方式扩展到使用此部分的其他控制器
class MyController extends Zend_Controller_Action
看起来像
class MyController extends MySnippet_Controller_Action
或类似的东西,它起作用了。但是我无法让它发挥作用。
答案 0 :(得分:0)
您正在寻找的是可能是针对init()注册的前控制器插件,或者更可能是predispatch()。在Zend Framework中,Zend_Controller_Action不受欢迎,实际上通常不需要。
这些资源可以帮助您开发所需的插件:
Understand ZF plugins pt 1
Understand ZF plugins pt 2
and of course the reference manual section
以下是插件的基本形式:
class My_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
parent::preDispatch($request);
//truncated
}
}