Yii2:如何在控制器中创建构造函数?

时间:2015-08-02 11:23:34

标签: yii2

如何在Yii2控制器中创建构造函数?我想知道$id参数中的$module $config = []parent::__construct究竟是什么。

public function __construct($id, $module, $config = [])
{
    $this->id = $id;
    $this->module = $module;
    parent::__construct($config);
}

我很感激一个有效的例子。

2 个答案:

答案 0 :(得分:6)

不应该有任何问题
public function __construct($id, $module, $config = [])
{
    \yii\helpers\VarDumper::dump([$id, $module, $config]);
    parent::__construct($id, $module, $config);
}

如果目标是调查那里发生的事情。

对于生产,最好坚持使用覆盖init方法,并在需要时使用$this->id$this->module。这就是框架expects initialization code to be placed

的位置
  

建议您执行对象初始化   在init()方法中,因为在那个阶段,对象配置   已经应用了。

答案 1 :(得分:-1)

在yii2中,您可以使用init函数而不是构造函数

  

建议使用init(),您可以在其中找到很多内容   扩展名,但在某些情况下,应使用__construct()。您可以   找到here

     

construct在新实例上运行,然后调用init()   调用类中所有默认值和函数的函数   设置。因此使用init()更容易,更安全,并且可以完成与__construct()函数相同的工作

 public function init() {
    your code
}