任何人都可以告诉我为什么控制器代码中的构造函数使用parent :: __ construct?我只知道这是因为这是在CI_Controller中的父类中使用该方法。 如果是这样,为什么模型代码中的构造函数不使用parent :: __ construct?
class News extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('news_model');
}
class News_model extends CI_Model
{
public function __construct()
{
$this->load->database();
}
答案 0 :(得分:0)
- 这一行必要的原因是你的本地构造函数将覆盖父控制器类中的那个,所以我们需要手动调用它。
- 如果您需要设置一些默认值,或者在实例化类时运行默认进程,那么构造函数非常有用。构造函数不能返回值,但它们可以执行一些默认工作。
PHP Codeigniter - parent::__construct
可能重复示例
public function __construct()
{
parent::__construct();
$this->load->helper('date');
$this->load->library('session');
$this->load->model('My_model');
$this->load->library('cart');
}
答案 1 :(得分:0)
您需要包含parent::__construct();
以包含扩展类
如果不包含您将覆盖父类构造函数的codeigniter的默认构造函数初始化。 function __construct()
总是在类实例化时运行,所以如果你想加载一些库或者初始化一些值,那就把它放在那里。