Search code examples
phpcodeignitercodeigniter-2codeigniter-3

Class 'BaseController' not found


I am using PHP MVC CI. BaseController and LoginController are both inside Controller Folder. When I run the Login Controller. It says..

Class 'BaseController' not found

Login Controller

<?php
    if ( ! defined('BASEPATH')) die('No direct script access allowed');

    class loginController extends BaseController {

        function __construct() {
            parent::__construct();
        }

        public function login() {   
            $this->load->View("template/header");
            $this->load->View("login_view");
        }
    }
?>

Base Controller

<?php
    class BaseController extends CI_Controller {

        function __construct()
        {
            session_start();
            $this->load->library('session');
            parent::__construct();
        }
    }
?>

Any idea why this is happening ?


Solution

  • If you need a parent controller than should be in

    Path - application/core/MY_Controller.php

    http://www.codeigniter.com/user_guide/general/core_classes.html

    <?php
    
    class MY_Controller extends CI_Controller {
    
         public function __construct() {
            parent::__construct();
         }
    
    }
    

    If you also autoload sessions then you will not need to use session_start.

    http://www.codeigniter.com/user_guide/libraries/sessions.html

    Filename: Welcome.php must be first letter uppercase in CI3

    <?php
    
    class Welcome extends MY_Controller {
    
    }
    

    CI 3 is case sensitive

    Both user guides now here. CI2 & CI3 http://www.codeigniter.com/docs