<?php
class MyModel extends CI_Model {
public function loadData()
{
$CI =& get_instance();
$CI->load->helper('data_helper');
print_r($CI->data_helper); //this is printing nothing
$CI->data_helper->loaditems(); // method is not calling
}
}
function loaditems()
{
echo "hello from load of helper";
}
?>
Le nom du fichier d'assistance est data_helper.php
Donnez-moi vous avez réfléchi à ce pourquoi cela ne fonctionne pas et dans quel cas cela fonctionnera
3 réponses
Placez le fichier data_helper.php
dans le répertoire /application/helpers
.
Dans /application/config/autoload.php
, chargez l'assistant en utilisant uniquement le mot 'data'. (ligne 92).
$autoload['helper'] = array('data');
Ou vous pouvez le charger avant d'en avoir besoin avec $this->load->helper('data');
Ensuite, vous pouvez utiliser loaditems()
de n'importe où comme une fonction normale.
Vous n'avez pas du tout besoin de la magie $CI
.
Selon la documentation
$this->load->helper('name');
Où nom est le nom de fichier de l'assistant, sans l'extension de fichier .php ou la partie "helper".
Ce qui signifie que le code suivant devrait fonctionner
class MyModel extends CI_Model
{
public function loadData()
{
$this->load->helper('data');
loaditems();
}
}
Vous pouvez en savoir plus ici
Essayez data_helper () pour appeler la fonction d'assistance.
data_helper();
De nouvelles questions
codeigniter
CodeIgniter est un framework de développement d'applications - une boîte à outils - pour les personnes qui créent des sites Web en utilisant PHP. Créé par EllisLab, encouragé par BCIT, il s'agit désormais d'un projet de la Fondation CodeIgniter. Le framework implémente une version modifiée du modèle de conception Model-View-Controller. Utilisez cette balise pour les questions sur les classes, méthodes, fonctions, syntaxe et utilisation de CodeIgniter. Il existe deux versions principales: 3.x et 4.x, répondant à différentes exigences système