如何在Yii2控制器中创建构造函数?我想知道$id
参数中的$module
$config = []
和parent::__construct
究竟是什么。
public function __construct($id, $module, $config = [])
{
$this->id = $id;
$this->module = $module;
parent::__construct($config);
}
我很感激一个有效的例子。
答案 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
}