我尝试将一个空的__construct
方法添加到模块控制器。
致命错误:在第16行的/var/www/rodebutik.dk/public_html/wb/vqmod/vqcache/vq2-system_engine_controller.php中调用非对象的成员函数get()
第16行:
public function __get($key) {
return $this->registry->get($key);
}
答案 0 :(得分:7)
最可能的解释:原始构造函数正在设置$this->registry
对象。您将覆盖构造函数,该构造函数现在不再设置该对象。因此:当代码尝试使用不存在的预期对象时,您会出错。
如果覆盖构造函数,则还应该/需要调用原始构造函数:
public function __construct(...) {
parent::__construct(...);
// new code
}
答案 1 :(得分:2)
您可以像这样在控制器或模型中创建构造函数。
class ModelMyModel extends Model {
public function __construct($params) {
parent::__construct($params);
}
}
答案 2 :(得分:0)
您可以使用这样的构造函数,也可以通过传递参数来使用与Model相同的构造函数。
class ControllerCommonDashboard extends Controller {
public function __construct($params) {
parent::__construct($params);
}
}