如何将变量从preDispatch传递给控制器​​和动作?

时间:2013-05-27 17:17:07

标签: php web-services api zend-framework rest

我尝试在preDispatch函数中放入一个检查登录的变量,我想将此变量传递给控制器​​(要使用Action)。

我只是尝试$this->getRequest()->setParam('check_login', 'FALSE');

但它不起作用......

有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

如果您没有特别的理由在请求对象中传递该变量,请将该变量分配给私有或受保护的成员:

<?php
class my_Controller extends blah blah
{
    protected $login; 

    public function preDispatch()
    {
        $this->login = what it needs to be
    }
}

但是你提供的代码对我有用。除了一个小项目。如果您希望使用'FALSE'作为布尔值,则可能需要删除引号。目前'FALSE'的呈现方式是一个字符串,可能无法作为布尔运算符正常工作。

$this->getRequest()->setParam('check_login', FALSE);