Создание метода конструктора в контроллере в Yii

Я только начал изучать Yii , где я создал один контроллер PostController . В этом контроллере у меня есть одно требование использования Sessions .

Поэтому я создал один метод конструктора, и его код выглядит следующим образом

 public $session; public function __construct() { $this->session = new CHttpSession; $this->session->open(); } 

Но после создания этого конструктора контроллер не работал и выдавал ошибку. И после удаления этого кода мой контроллер работал отлично. Я написал этот код внутри конструктора, чтобы не инициализировать Session в каждом методе actionCreate и actionUpdate .

Итак, мой вопрос: как мы можем создать конструктор в Yii ?

благодаря

Related of "Создание метода конструктора в контроллере в Yii"

Вы просто забыли вызвать родительский конструктор:

 public function __construct() { ..... parent::__construct(); } 

Вы можете использовать beforeAction вместо переопределения __construct .

И Сергей прав, по умолчанию Yii начнет сеанс ( autoStart ), вам просто нужно использовать Yii::app()->session , например:

 Yii::app()->session['var'] = 'value'; 
 public function __construct() { parent::__construct($this->id, $this->module); } 

Я использую для этого init () , но обнаружил, что люди думают, что __construct лучше.