在Yii中的控制器中创建构造函数方法

Yog*_*har 4 php mysql yii

我刚刚开始学习Yii,在那里我创建了一个PostControllerController.在这个控制器中,我有一个使用要求Sessions.

所以我创建了一个构造函数方法,其代码如下

public $session;
public function __construct() {
    $this->session = new CHttpSession;
    $this->session->open();
}
Run Code Online (Sandbox Code Playgroud)

但在创建此构造函数后,控制器无法正常工作并出错.删除此代码后,我的控制器工作正常.我已经写在代码里构造函数无法初始化Session为每个方法actionCreateactionUpdate.

所以我的问题是我们如何创建构造函数Yii

谢谢

soj*_*oju 6

你只是忘了调用父构造函数:

public function __construct()
{
  .....
  parent::__construct();
}
Run Code Online (Sandbox Code Playgroud)

您可以使用beforeAction而不是覆盖__construct.

谢尔盖是正确的,默认情况下Yii的开始会话(autoStart),你只需要使用Yii::app()->session,例如:

Yii::app()->session['var'] = 'value';
Run Code Online (Sandbox Code Playgroud)