Create constructor method in controller in Yii

mysql, php, yii

Solution

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`, e.g. :

Yii::app()->session['var'] = 'value';

Problem

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

Original source