Zend框架说话。我正在我的引导类My_Action_Helper_Custom(扩展Zend_Controller_Action_Helper_Abstract)中初始化,以使其可供所有控制器使用。
我可以针对我不需要的特定操作禁用它吗?
感谢
卢卡
答案 0 :(得分:1)
您是指为特定控制器操作禁用preDispatch()
或postDispatch()
挂钩吗?
如果是这样,我会向帮助者添加某种形式的黑名单属性,例如
/**
* @var array
*/
private $blacklistActions = array();
public function addBlacklistAction($action)
{
// store actions in string form
// eg, module.controller.action
$this->blacklistActions[] = $action;
}
public function preDispatch()
{
$request = $this->getRequest();
$action = sprintf('%s.%s.%s',
$request->getModuleName(),
$request->getControllerName(),
$request->getActionName());
if (in_array($action, $this->blacklistActions)) {
return;
}
// the rest
}