codeigniter 2.0 Fatal error: Class 'Controller

2019-01-22 18:41发布

问题:

i have download the new codeigniter 2.0 and put my controller,model and view files in the new codeigniter 2.0 installation. but i got this error

Fatal error: Class 'Controller' not found in /Applications/MAMP/htdocs/site/application/controllers/forside.php on line 3

What im doing wrong? it works with the old codeigniter version but the new one.. No :S

Hope some one can help me out

回答1:

In CodeIgniter 2 your controllers inherit from super class CI_Controller, rather than the super class Controller used in CodeIgniter 1.

The same applies to models in CI2 which extend the class CI_Model rather then Model.



回答2:

I think you are not extending the controller like below;

<?php
class MyOwnController extends CI_Controller {

    function index()
    {
        // your code here
    }
}
?>

It's written on http://codeigniter.com/user_guide/general/controllers.html, you have to extend CI_Controller



回答3:

Along with that CI_ prefix to your controller, any core classes you extend, you should place withing the applications/core/ folder. This is because the core CodeIgniter classes have been moved to the system/core/ folder.



回答4:

class Student extends CI_Controller {

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

    // load helpers
    $this->load->helper('url');
  }
}

Including the parent::__construct(); rather than parent::Controller();



回答5:

Make sure the Controller's name matches the prefix defined in the config:

By default, the config has:

$config['subclass_prefix'] = 'MY_';

If your controller is core/SomeController.php it won't be found because it doesn't start with MY_