web-dev-qa-db-fra.com

erreur irrécupérable codeigniter 2.0: la classe 'Controller' n'a pas été trouvée dans

j'ai téléchargé le nouveau codeigniter 2.0 et mis mon contrôleur, mon modèle et mes fichiers dans la nouvelle installation de codeigniter 2.0. mais j'ai eu cette erreur 

Erreur fatale: la classe 'Controller' ne figure pas dans /Applications/MAMP/htdocs/site/application/controllers/forside.php à la ligne 3

Qu'est-ce que je fais mal? cela fonctionne avec l'ancienne version de codeigniter mais avec la nouvelle .. Non: S

J'espère que quelqu'un pourra m'aider 

23
Sjmon

Dans CodeIgniter 2, vos contrôleurs héritent de la super classe CI_Controller, plutôt que de la super classe Controller utilisée dans CodeIgniter 1.

Il en va de même pour les modèles dans CI2 qui étendent la classe CI_Model plutôt que Model.

36
duncmc

Je pense que vous n’étendez pas le contrôleur comme ci-dessous;

<?php
class MyOwnController extends CI_Controller {

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

C'est écrit sur http://codeigniter.com/user_guide/general/controllers.html , vous devez étendre CI_Controller

14
Burak Erdem

En plus du préfixe CI_ de votre contrôleur, des classes principales que vous étendez, vous devez les placer dans le dossier applications/core/. Cela est dû au fait que les classes CodeIgniter principales ont été déplacées vers le dossier system/core/.

4
Regi
class Student extends CI_Controller {

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

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

Inclure le parent::__construct(); au lieu de parent::Controller();

4
Roo

Assurez-vous que le nom du contrôleur correspond au préfixe défini dans la configuration:

Par défaut, la configuration a:

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

Si votre contrôleur est core/SomeController.php, il ne sera pas trouvé car il ne commence pas par MY_

0
Charlie