class UserController extends Zend_Controller_Action
{
protected $varGlobal;
public function oneAction()
{
$this->varGlobal=0;
.........
}
public function twoAction()
{
$temp=$this->varGlobal;//temp return null;
}
}
如何在执行oneAction()之后保留varGlobal的值? 谢谢!
答案 0 :(得分:1)
您还可以尝试静态属性:
class UserController extends Zend_Controller_Action
{
protected static $varGlobal;
public function init(){
self::$varGlobal=0;
}
public function oneAction()
{
self::$varGlobal=15;
.........
}
public function twoAction()
{
$temp=self::$varGlobal;//temp return 0,don't change value after excute oneaction();
}
}
答案 1 :(得分:0)
嗯,只要您在同一个对象上调用$this->varGlobal
方法,twoAction
就会一直存在。对于每个请求,都会创建新对象。因此,如果您的下一个请求转到twoAction,则不会触发一个操作。
为了为每个对象设置变量,您可以使用init
函数并在那里初始化变量。
答案 2 :(得分:0)
为什么不使用Zend_Controller_Action :: _ setParam()和Zend_Controller_Action :: _ getParam()? 还是Zend_Registry?