我已经通过创建一个放在 application/core 目录中的 MY_Controller.php 成功地扩展了 CI_Controller 类。
core/My_Controller.php 看起来像这样:
class MY_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
}
}
然后当我创建普通控制器时,它们看起来像这样:
class Home extends MY_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('home');
}
}
我正在创建一个管理后端,我希望有一个不同的基类供控制器扩展,而不是 My_Controller。这样我就可以有管理控制器的常用方法(即 authentication_check 等)
我无法解决的是如何创建另一个扩展 CI_Controller 的控制器。
目标是让管理控制器扩展与前端控制器不同的基类。
管理员基本控制器如下所示:
class MY_Admin_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
}
}
管理页面的普通控制器:
class Admin_home extends MY_Admin_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('admin_home');
}
}
问题是要扩展 CI_Controller 类,您必须将控制器文件命名为 PREFIX_Controller.php 并将其放在 core/ 目录中。但我想要两个控制器类,它们不能有相同的文件名。