CodeIgniter创建MY_Controller

Zel*_*vic 1 php extends controller codeigniter

我怎样才能创建MY_Controller.放置这个文件的地方在哪里,我把它放在核心,文件夹中,然后我添加到自动加载文件代码中

function __autoload($class)
{
 if(strpos($class, 'CI_') !== 0)
 {
  @include_once( APPPATH . 'core/'. $class . EXT );
 }
}
Run Code Online (Sandbox Code Playgroud)

然后我创建了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');   

    }
}
Run Code Online (Sandbox Code Playgroud)

但我一直在收到错误

在第4行的C:\ wamp\www\vezba\application\controllers\pages.php中找不到类'MY_Controller'

我在文件中调用了MY_Controller

class Pages extends MY_Controller 
{    
   function __construct() {
    parent::__construct();
  }

} 
Run Code Online (Sandbox Code Playgroud)

哪里可能有问题?

Roc*_*mat 12

仔细检查您的班级名称和文件名称.

class MY_Controller extends CI_Controller
Run Code Online (Sandbox Code Playgroud)

注意MY_所有大写的都是如此.确保将此文件另存为application/core/MY_Controller.php,再次注明案例.

CodeIgniter应该为您自动加载此文件.

文档:https://www.codeigniter.com/user_guide/general/core_classes.html

PS检查文件中的$config['subclass_prefix']选项application/config/config.php.

  • 你不应该修改`system`文件夹.这就是为什么`application/core`存在的原因.因此,您可以在不触及系统文件的情况下扩展/替换文件. (2认同)