📅  最后修改于: 2023-12-03 14:51:50.113000             🧑  作者: Mango
在CodeIgniter 3中,默认只有一个核心控制器,即application/core/MY_Controller.php
文件。但是,在某些情况下需要拥有多个核心控制器,例如需要为不同类型的用户使用不同的控制器逻辑。
以下是如何实现CodeIgniter 3中的多个核心控制器。
为了创建新的核心控制器,需要创建新的PHP文件,并按照所需的规则进行命名。例如,我们需要创建一个与用户角色相关的核心控制器,则我们可以将文件名命名为User_Controller.php
。
新的核心控制器应该在application/core
目录下创建,并继承CodeIgniter的默认核心控制器CI_Controller
。
<?php
class User_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
}
}
为了使CodeIgniter识别新的核心控制器,需要在配置文件中声明其路径。打开application/config/config.php
文件并找到以下行:
$config['subclass_prefix'] = 'MY_';
将上述代码更改为以下内容:
$config['subclass_prefix'] = 'USER_';
现在可以扩展新的核心控制器。为了创建一个控制器并扩展新的核心控制器,应该使用以下语法:
class Admin extends User_Controller {
public function __construct() {
parent::__construct();
}
}
新的控制器应该继承新的核心控制器User_Controller
,而不是默认核心控制器CI_Controller
。
通过这些步骤,可以在CodeIgniter 3中创建多个核心控制器。这些核心控制器可以专门为不同类型的用户或特定的控制器逻辑而设计,因此可以提供更好的代码复用和分离。