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
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
.
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
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/.
class Student extends CI_Controller {
function Student() {
parent::__construct();
// load helpers
$this->load->helper('url');
}
}
Inclure le parent::__construct();
au lieu de parent::Controller();
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_