Sas*_*asa 8 php codeigniter autoload codeigniter-restserver
我在codeigniter中使用REST服务器,使用方法是在我的应用程序中所有控制器中我必须在开始时写这行:
require APPPATH . '/libraries/REST_Controller.php';
Run Code Online (Sandbox Code Playgroud)
有谁知道如何自动加载这个REST_Controller并避免在我的所有控制器中使用这一行?我不想使用require.
预先感谢
您可以通过Codeigniter的自动加载配置来实现。
编辑autoload.php目录中的项目YourProject/application/config/
$autoload['libraries'] = array('REST_Controller');
Run Code Online (Sandbox Code Playgroud)
在控制器中,可以通过访问此库类$this->rest_controller。
顺便说一句:Rest_Controllers是一个库文件,所以我认为后缀名不是Controller一个好名字。
编辑
通过您的评论,我知道您实际上是指所有控制器都从扩展REST_Controller,并且您不想在每个控制器文件的顶部都要求它。
解:
REST_Controller.php到目录YourProject/application/core/。YourProject/application/config/config.php第119行更改$config['subclass_prefix'] = 'MY_';为$config['subclass_prefix'] = 'REST_';然后Codeigniter将REST_Controller自动加载。
但是subclass_prefix配置具有全局性,并且您需要更改的位置REST_Conttoller.php,因此要进行最小的更改,我认为最好的方法是MY_Controller在目录中创建类,./application/core/并要求REST_Controller在此新文件的底部。当CI负载MY_controller自动REST_Controller将太需要。
注意: MY_Controller需要从CI_Controller