静态变量没有改变。 Yii,OOP

时间:2013-05-20 08:03:09

标签: oop static yii

我有一个SiteController的索引操作代码

  static $cid;

  public function actionIndex() {
        if(Yii::app()->request->isAjaxRequest) {
        //return ajax data, includes this
                $data['redirectUrl'] = self::$cid;
       } 
       //code...
        self::$cid = 2;
        //code...
  }

问题是$ data ['redirectUrl']始终为null。如果宣布变量如

static $cid = 2;

一切正常。请问我,问题是什么,也许我看不到明显的事情?

1 个答案:

答案 0 :(得分:0)

这是预期的..

您是否希望静态变量存储在会话中?

1)您在使用它后为变量赋值。当它未初始化时,您将始终返回NULL值。

2)下次使用时是对您的操作的下一个请求,这是一个全新的过程,因此该变量将再次为空。

我认为您正在寻找的功能需要将值存储在会话中,以便为下一个请求保留:)