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

Yii2 我如何在控制器中创建构造函数?,yii2,Yii2,如何在Yii2控制器中创建构造函数?我试图找出父参数中的$id$module和$config=[]到底是什么: public function __construct($id, $module, $config = []) { $this->id = $id; $this->module = $module; parent::__construct($config); } 请给我举个工作示例。这应该没有什么问题 public function __const

如何在Yii2控制器中创建构造函数?我试图找出
父参数中的
$id
$module
$config=[]
到底是什么:

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

请给我举个工作示例。

这应该没有什么问题

public function __construct($id, $module, $config = [])
{
    \yii\helpers\VarDumper::dump([$id, $module, $config]);
    parent::__construct($id, $module, $config);
}
如果目标是调查那里发生了什么

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

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


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

建议使用init(),您可以在 扩展,但在某些情况下,应使用_construct()。你可以 找到它

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


我不明白。如果您想在开始时做一些事情,请创建一个
init()
函数。@Joanner我意识到理论上它们的功能都是一样的,但是我如何使用
\u构造来实现呢?这个答案可能是正确的。只有代码的答案很少有帮助。请评论您的代码并解释此代码是如何解决问题的。谢谢,我添加了更多关于init()函数的信息,以及为什么我们应该使用它而不是构造函数Vote up,因为有了解释,您的答案实际上很有帮助。
 public function init() {
    your code
}