如何创建MY_Controller。放置这个文件的地方在哪里,我把它放在核心,文件夹中,然后我添加到自动加载文件中 代码
function __autoload($class)
{
if(strpos($class, 'CI_') !== 0)
{
@include_once( APPPATH . 'core/'. $class . EXT );
}
}
然后我创建了MY_Controller
class My_Controller extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->view('view_header');
$this->load->view('includes/nav_home');
$this->load->view('view_home');
$this->load->view('view_footer');
}
}
但我一直收到错误
Class' MY_Controller'在第4行的C:\ wamp \ www \ vezba \ application \ controllers \ pages.php中找不到
我在文件中调用了MY_Controller
class Pages extends MY_Controller
{
function __construct() {
parent::__construct();
}
}
哪里可能有问题??
答案 0 :(得分:11)
仔细检查您的班级名称和文件名。
class MY_Controller extends CI_Controller
注意MY_
如何全部为大写。确保此文件保存为application/core/MY_Controller.php
,再次注明案例。
CodeIgniter应该为您自动加载此文件。
文档:https://www.codeigniter.com/user_guide/general/core_classes.html
P.S。查看$config['subclass_prefix']
文件中的application/config/config.php
选项。
答案 1 :(得分:4)
您不需要自动加载功能。 Codeigniter将自动加载My_Controller,只要它在您的应用程序/核心目录中。
答案 2 :(得分:0)
您不需要自动加载类,框架将为您完成。在您的情况下,请检查配置文件subclass_prefix是否为“ MY_”。例如; $ config ['subclass_prefix'] ='MY_'; 将您的课程放在应用程序/核心中。确保类名和文件名相同。