Codeigniter: défini par l'utilisateur fonction d'assistance ne prend pas en charge
J'ai fait un helper personnalisé extension du système string_helper.php.
Je l'ai placé dans mon /application/helpers
répertoire, appelé MY_string_helper.php
comme nécessaire, l'appareil testé ses fonctions.
Maintenant, quand j'essaie d'appeler l'une de ses fonctions à partir d'un modèle, il ne fonctionne pas.
Les fonctions dans la chaîne par défaut helper travail, à la place. Il ressemble à mon poste n'est pas chargé pour quelques raisons.
Merci beaucoup et joyeuses fêtes.
Edit: encore plus drôle. J'ai enregistré le fichier en tant que categories_helper.php
dans le system/helpers
répertoire, et quand j'ai essayer de le charger dans un modèle que j'ai obtenu la réponse suivante: *Impossible de charger le fichier demandé: helpers/categories_helper.php*
- Pour l'instant, je pense que je vais mettre ces fonctions dans un Modèle. Pourtant, il n'est donc pas la voie à suivre, alors j'espère que vous pourrez m'aider.
- Je suis sûr que vous l'avez déjà fait, mais avez-vous vérifié votre serveur web, l'utilisateur a accès en lecture à ces fichiers?
- yep. L'ensemble de la
/application/
dossier est lisible. Merci quand même! - comment allez-vous l'appeler? Je suis sûr que vous avez, mais vous avez besoin
$this->load->helper('string');
dans votre contrôleur, puis d'accéder à des fonctions commemy_function($str);
- merci. En fait j'ai. L'original (système) helper est chargé et de ses fonctions de travail; mon extension ne fonctionne pas.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème. Je suis venu à partir de windows OS le développement de mon codeigniter projet, est ensuite passé à Ubuntu, mais de toute façon il n'a toujours pas de charge, mes compagnons d'oeuvre.
J'ai trouvé que la modification de la convention d'affectation de noms en minuscules, résout le problème. Ne suivez pas ce qui est écrit dans la doc où vous êtes donné un préfixe à insérer, surtout si c'est en majuscules. Faire usage de la minuscule.
La Codeigniter Guide de l'utilisateur pour les aidants décrit que les aides sont disponibles pour les contrôleurs et les vues seulement. Il ne mentionne pas explicitement que des fonctions d'assistance du travail dans les modèles.
Linux est sensible à la casse, Windows pas. Donc, si vous êtes de développement dans l'OS de Windows, avant de télécharger votre système dans un hébergement Linux ennemi exemple, vous avez besoin d'avoir les noms des fichiers dans bien celle.
Par exemple:
Dans Windows: application/helpers/MY_functions_helpers.php
En Linux: application/helpers/my_functions_helpers.php
mmm, je ne suis pas sûr que cela fonctionne pour les aidants, mais avez-vous essayé de charger l'aide de cette façon?
$CI = & get_instance();
$CI->load->helper('string');
J'ai fait face à un même genre de situation. Mon environnement de développement WINDOWS et il a bien fonctionné comme décrit dans la DOCs c'est à dire
MY_string_helper.php
Sur l'environnement de production UNIX, il a donné d'erreur:
Changer le nom du fichier à la baisse des cas résolu cette erreur MAIS l'aide n'était pas chargé.
Après beaucoup de perte de temps, par hit et trail, il a travaillé [ c'est non-documenté ]
Dans le autoload.php, il suffit d'inclure la mention de l'étendue helper avant de l'aide par défaut:
Aussi, le préfixe a au capital, il ne fonctionne pas avec les minuscules préfixe: