1
   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 的值?谢谢!

4

3 回答 3

1

You could also try static properties :

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();
        }

  }
于 2012-10-15T13:10:22.237 回答
0

为什么不使用 Zend_Controller_Action::_setParam() 和 Zend_Controller_Action::_getParam() ?还是 Zend_Registry ?

于 2012-10-15T11:39:32.943 回答
0

好吧,$this->varGlobal只要您twoAction在同一个对象上调用方法,它就会一直存在。对于每个请求,都会创建新对象。因此,如果您的下一个请求转到 twoAction,则不会触发一个操作。

为了为每个对象设置变量,您可以init在那里使用函数并初始化变量。

于 2012-10-15T08:35:03.390 回答