1

我的 codeigniter 站点自动加载会话。我创建了一个 XML API 页面,但由于该自动加载而出现会话错误。我不想在这个控制器上加载会话,但我不想在我的所有其他控制器上手动加载会话。可以这样做吗?

4

1 回答 1

2

使用基本控制器来加载会话类,而不是autoload.php让您的控制器扩展它。更多信息在这里:http ://ellislab.com/codeigniter/user-guide/general/core_classes.html

// application/core/MY_Controller.php

class MY_Controller extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->library('session');
    }

}

// you may add additional base controller classes here

您必须使用您想要访问会话类的控制器来扩展此控制器,因此很遗憾您必须对现有控制器进行一些编辑:

class UserController extends MY_Controller {

    public function index()
    {
        // session class is loaded
    }

}

其他控制器可以继续扩展CI_Controller,并且不会加载会话类。

我在我所有的 CI 项目中都使用这种方法,并且很少使用autoloader.php,它提供了更大的灵活性。

于 2013-07-10T21:38:18.973 回答