为什么__constructor
代码需要在codeigniter控制器和模型中运行?没有这些行,代码工作正常。我很困惑!
function __construct()
{
parent::__construct();
}
答案 0 :(得分:0)
只要控制器/模型中的类不需要调用构造函数方法,它就会起作用。如果它扩展的类定义了所需的依赖项(例如),则可能会得到不需要的结果。
即使构造函数方法是一个所谓的“魔术方法”,当你使用new
关键字时会自动调用它(注意你必须使用括号):
$foo = new Foo();
这并不意味着Foo
扩展的类将自动调用它的构造函数方法。
答案 1 :(得分:0)
使用_construct(magic Function)
背后的原因是通过控制器加载库和帮助程序,这样就不必在每个函数中加载库和帮助程序。
示例:
function __construct() {
parent::__construct();
$this->load->library('someclass');
$this->load->helper('someclass');
}