当控制器要继承自定义的控制器的时候,有特定的定义:
application/core/MY_Controller
<?php class MY_Controller extends CI_Controller { public function __construct() { } }
但是这样就会出现,如果想要多个基类的时候,上述这样我们只能写一个MY_Controller,我们可以这样定义:
在MY_Controller文件中继续写基类,因为只有MY_Controller这个类会被CI自动加载
<?php class MY_Controller extends CI_Controller { public function __construct() { } } class AdminBase extends MY_Controller { public function __construct() { echo 555; } }
但是这样的不好之处就是很多基类都要写在一个文件中,可以在入口文件中使用__autoload()方法来自动加载
注意:在控制器中不能使用index()方法,当使用这个方法的时候,这个方法会执行两次,而且父类构造函数不能执行