跳到主要内容

如何在CodeIgniter中调用构造函数?

参考答案:

在 CodeIgniter 中,通常你会在控制器或模型中调用构造函数。这些构造函数通常在类被实例化时自动调用,用于执行一些初始化任务。

下面是一个在 CodeIgniter 控制器中调用构造函数的例子:

<?php
class Welcome extends CI_Controller {

    public function __construct()
    {
        parent::__construct();

        // 你的初始化代码
        $this->load->helper('url');
        $this->load->library('session');
        // ... 其他初始化代码 ...
    }

    public function index()
    {
        $this->load->view('welcome_message');
    }
}

在这个例子中,__construct() 是 PHP 的魔术方法,用于定义构造函数。当你创建 Welcome 控制器的新实例时,这个构造函数会被自动调用。

parent::__construct(); 这行代码是调用父类 CI_Controller 的构造函数。在 CodeIgniter 中,这是必要的,因为 CI_Controller 构造函数执行了一些框架初始化任务。

然后,你可以在构造函数中添加你自己的初始化代码,比如加载帮助函数、库、模型等。

在模型中调用构造函数的方式与在控制器中类似。你需要确保你的模型类继承自 CI_Model,并在构造函数中调用 parent::__construct();

注意:在 CodeIgniter 4 中,构造函数的调用方式略有不同。你需要使用 public function init() 而不是 __construct(),并且需要在 init() 方法中手动调用 parent::init();。但在 CodeIgniter 3 中,你仍然使用 __construct() 方法。