Call to undefined method CI_Controller::Controller()

BlackFire27 picture BlackFire27 · Feb 16, 2012 · Viewed 23.5k times · Source

I have got this controller:

    class Start extends CI_Controller{
   var    $base;
   var    $css;

   function Start()
   {
       parent::Controller(); //error here.
       $this->base = $this->config->item('base_url'); //error here
       $this->css = $this->config->item('css');   

   }

  function hello($name)
  {
    $data['css'] = $this->css;
    $data['base'] = $this->base;
    $data['mytitle'] = 'Welcome to this site';
    $data['mytext'] = "Hello, $name, now we're getting dynamic!";
    $this->load->view('testView', $data);
   }
}

it tells me in this line:

parent::Controller(); //error here.

 Call to undefined method CI_Controller::Controller() 

If I remove that line..I get an error for the next line that says..

Call to a member function item() on a non-object

How do I prevent such errors form happening?

Answer

Kokers picture Kokers · Feb 16, 2012

If you're using CI 2.x then your class constructor should look like this:

   public function __construct()
   {
        parent::__construct();
        // Your own constructor code
   }

read more in user guide