我的 codeigniter 站点自动加载会话。我创建了一个 XML API 页面,但由于该自动加载而出现会话错误。我不想在这个控制器上加载会话,但我不想在我的所有其他控制器上手动加载会话。可以这样做吗?
问问题
455 次
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 回答