CodeIgniter la création de MY_Controller
Comment puis-je créer MY_Controller. Où est le bon endroit pour mettre ce fichier, je l'ai mis dans le coeur, dossier, et j'ai ajouter dans le fichier autoload
code
function __autoload($class)
{
if(strpos($class, 'CI_') !== 0)
{
@include_once( APPPATH . 'core/'. $class . EXT );
}
}
puis j'ai créé MY_Controller
class My_Controller extends CI_Controller
{
public function __construct() {
parent::__construct();
$this->load->view('view_header');
$this->load->view('includes/nav_home');
$this->load->view('view_home');
$this->load->view('view_footer');
}
}
mais je reçois l'erreur
De la classe de MY_Controller' ne trouve pas dans C:\wamp\www\vezba\application\controllers\pages.php sur la ligne 4
j'ai appelé MY_Controller dans le fichier
class Pages extends MY_Controller
{
function __construct() {
parent::__construct();
}
}
Où pourrait être le problème??
Vous devez vous connecter pour publier un commentaire.
Double cochez la case sur votre nom de la classe et le nom de fichier.
Avis comment
MY_
est tout en majuscule. Assurez-vous que ce fichier est enregistré en tant queapplication/core/MY_Controller.php
, notez à nouveau le cas.CodeIgniter l'auto-chargement de ce fichier pour vous.
Docs: https://www.codeigniter.com/user_guide/general/core_classes.html
P. S. Vérifier la
$config['subclass_prefix']
option dans votreapplication/config/config.php
fichier.system
dossier. C'est pourquoiapplication/core
existe. De sorte que vous pouvez étendre/remplacer les fichiers sans toucher au système de fichiers.Vous n'avez pas besoin de l'auto-chargement de la fonctionnalité. Codeigniter charge automatiquement My_Controller, tant que c'est dans votre application/core répertoire.
Vous n'avez pas besoin d'auto-chargement de votre classe, le cadre de travail le fera pour vous. Dans votre cas, vérifiez le fichier de configuration si le subclass_prefix est "MY_'. Par exemple; $config['subclass_prefix'] = 'MY_';
Mettez votre classe dans l'application/core. Assurez-vous que le nom de la classe et le nom de fichier est le même.