i’m using the Codeigniter.2.1.3 for a website, so i need to extend the CI_Controller so i can add a method to be executed with all controllers so i did what’s in the user_guide:
creating a file named MY_Controller.php in the application/core folder the creating in it MY_Controller Class that extends the CI_Controller, the changing my regular controller to extend the MY_controller like this: MY_controller.php:
class MY_Controller extends CI_Controller{
protected $page;
# Constructor
function __construct (){
parent::__construct();
#code shared with all controllers
}
public function get_page(){
#code to get_the right page here
}
}
regular controller named Regular.php:
class Regular extends MY_Controller{
public function __construct(){
parent::__construct();
}
public function index(){
$this->get_page();
}
}
but the following error keep appearing:
Fatal error: Class ‘MY_Controller’ not found in /var/www/immo/CodeIgniter_2.1.3/application/controllers/regular.php on line 2
Make sure the filename is perfectly cased. Linux server is case-sensitive. So if the class name is My_Controller then the name of the file should be My_Controller.php
You would need to include your
MY_Controller
class or auto-load it. I suggest you auto-load it by adding the following to yourapplication/config/config.php
file.$config['subclass_prefix'] = "MY_"
check that in
config.php
and of course you should use it in Controller Name LikeMY_Controller.php
and Named "class MY_Controller...."Late with this answer, but I got the
when I had a controller (
.php
) file by the same name at the web root instead of the application/controllers directory.Don't know how it got there, actually, but the problem went away when I deleted it.
in config/config.php