繁体   English   中英

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

[英]Create constructor method in controller in Yii

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

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

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

但在创建此构造函数后,控制器无法正常工作并出错。 删除此代码后,我的控制器工作正常。 我在构造函数中编写了这段代码,以便在actionCreateactionUpdate每个方法中初始化Session

所以我的问题是如何在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更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM