Codeigniter extension contrôleur, contrôleur non trouvé
Dans Codeigniter 2.1.2 je veux créer contrôleur de base, et s'étend ensuite à partir de ce contrôleur. Il ne fonctionne pas et je n'ai aucune idée de pourquoi et je suis assez désespérée maintenant.
Dans \application\core\MY_Base_Controller.php j'ai ceci:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Base_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
...
Dans \application\controllers\Home.php j'ai ceci:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends MY_Base_Controller {
Et le message d'erreur est
Fatal error: Class 'MY_Base_Controller' ne trouve pas dans ...\application\controllers\Home.php sur la ligne 3
Je n'ai aucune idée de quoi faire, j'ai lu sur internet que j'ai à mettre contrôleur de base essentielles du dossier de ce que j'ai fait, que j'ai le nom de la base de contrôleur avec le préfixe MY_, je l'ai fait. Mais
il est toujours pas de travail.
Et dans mon config.php est cette ligne ainsi
$config['subclass_prefix'] = 'MY_';
Im l'exécution de ce sur localhost en utilisant xampp
Merci pour votre aide
MODIFIER
Quelqu'un pourrait veuillez télécharger en suivant le lien de l'essayer et me dire ce qui est faux.
Je viens de télécharger codeigniter essayé de créer la base de contrôleur et d'étendre la bienvenue contrôleur. Pas de travail. En suivant rar il y a juste les fichiers modifiés. Merci
http://goo.gl/sKHkDl
EDIT 2
Je suis capable de le faire fonctionner en le renommant MY_Base_Controller à MY_Controller.
Est-ce à dire, je suis en mesure de créer une seule classe étendue d'un contrôleur ? par exemple. Je ne peux pas avoir
- MY_Base_Auth_Controller
- MY_Base_Article_Controller
Juste et seulement MY_Controller ?
source d'informationauteur Harlsten
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème, mais si j'ai créé tous les contrôleurs de la MY_Controller.php fichier de tous bien travaillé.
J'ai eu le même problème dans mon premier CI demande et a trouvé deux éléments clés qui doivent être vérifiés:
1. Cas De Contrepartie:
Selon la configuration de votre serveur, le nom de votre fichier dans le répertoire doivent correspondre à ceux de l'affaire de votre classe. Par exemple, si votre classe est appelée "MY_Controller" le nom de votre fichier devra être: "MY_Controller.php" sur un serveur Linux. Les serveurs Windows ont été connus pour avoir des problèmes avec les majuscules des noms de fichier de sorte que vous pourriez expérimenter le nom de votre contrôleur "my_controller.php" et/ou la modification de l'extension à "my_" dans votre config.php au lieu de "MY_"
2. Insérer une fonction de Chargement automatique
Pour des raisons inconnues de moi, Codeigniter ne reconnaît pas automatiquement et la lecture étendue des classes de base avant le premier chargement de la classe de base. Cela peut provoquer des problèmes avec votre extension ne se chargent pas correctement. Pour remédier à cela, vous pouvez ajouter ce simple d'auto-chargement de script vers le bas de votre config.php
Note de côté: la solution ci-dessus a été testé sur CodeIgniter 2.1.4. La question posée impliqués CodeIgniter 2.1.2
Tous ceux qui lisent ceci à l'aide de CI 3+ et essayer de tenter la même chose.
Veuillez noter que le POSTE a été amortis lors de la suppression de php 4. Vous devez utiliser les maintenant:
Oui, avec core MY_ de classes, vous pouvez remplacer UNIQUEMENT codeigniter framework entités telles que Contrôleur, le Modèle, la configuration, l'Exception et ainsi de suite. Veuillez vous référer à https://ellislab.com/codeigniter/user-guide/general/core_classes.html
J'ai fait face à un même problème. Je pense que le problème est, CI que le chargement seul fichier qui doit être désigné comme "MY_controller.php". (system/core/Codeigniter.php ligne 238). Il est fait de charger seulement "MY_Controller.php". Les réponses faites ci-dessus comme "_autoload" sont là parce que nous sommes primordial que la fonctionnalité. Je suppose que c'est dans les deux j'.e CI -2 et CI - 3. Soit nous pouvons apporter des changements à des fichiers de base ou nous pouvons utiliser autload fonction, comme mentionné ci-dessus.
merci,