我刚刚开始学习Yii
,在那里我创建了一个PostController
控制器。在这个控制器中,我有一个使用Sessions
的要求。
所以我创建了一个构造函数方法,其代码如下
public $session;
public function __construct() {
$this->session = new CHttpSession;
$this->session->open();
}
但在创建此构造函数后,控制器无法正常工作并出错。删除此代码后,我的控制器工作正常。我已在构造函数中编写此代码,以便不在Session
和actionCreate
的每个方法中初始化actionUpdate
。
所以我的问题是我们如何在Yii
中创建构造函数?
由于
答案 0 :(得分:6)
你只是忘了调用父构造函数:
public function __construct()
{
.....
parent::__construct();
}
您可以使用beforeAction
代替覆盖__construct
。
并且谢尔盖是正确的,默认情况下,Yii会启动会话(autoStart
),您只需使用Yii::app()->session
,例如:
Yii::app()->session['var'] = 'value';
答案 1 :(得分:2)
public function __construct()
{
parent::__construct($this->id, $this->module);
}
答案 2 :(得分:1)