I have just started to learn Yii
, where I have created one PostController
Controller. In this controller I am having one requirement of using Sessions
.
So I have created one constructor method and its code is as follows
public $session;
public function __construct() {
$this->session = new CHttpSession;
$this->session->open();
}
But after creating this constructor the controller was not working and gives error. And after deleting this code my controller was working perfectly. I have written this code inside constructor to not initialize the Session
in each method for actionCreate
and actionUpdate
.
So my question is how can we create constructor in Yii
?
Thanks
You simply forgot to call parent constructor :
public function __construct()
{
.....
parent::__construct();
}
You could use beforeAction
instead of overriding __construct
.
And Sergey is right, by default Yii will start session ( autoStart
), you just have to use Yii::app()->session
, eg :
Yii::app()->session['var'] = 'value';
public function __construct()
{
parent::__construct($this->id, $this->module);
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.