在zend框架中向控制器添加条件逻辑

时间:2012-10-25 22:19:30

标签: zend-framework

我想在我测试的布局中添加一个条件语句:

      
  1. url中的控制器参数
  2.   
  3. 存在zend_auth()
  4. 实现这一目标的最佳方法是什么?我已经尝试在布局中测试$this->_getParam('controller')但是出错了。我可以在所有控制器中设置该变量,但这看起来有点愚蠢。如何最好地设置一个我以后可以使用一些条件逻辑从布局中使用的变量?或者我应该添加我在视图助手中的条件逻辑,然后加载到布局?

1 个答案:

答案 0 :(得分:1)

编辑除非您正在做一些非常奇怪的路由,否则控制器不应该是URL参数。如果您获得了GET(或POST)变量,则可以在请求对象->getParam()上使用Zend_Controller_Front::getInstance()->getRequest(),如下所示。但控制器是该请求对象的独立属性。

这是认证部分:

$loggedIn = Zend_Auth::getInstance()->hasIdentity();

这是控制器部分:

$controller = Zend_Controller_Front::getInstance()->getRequest()->controller;