<?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

1
Kailash Choudhary 28 nov. 2017 à 14:12

3 réponses

Meilleure réponse

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.

1
ourmandave 28 nov. 2017 à 12:45

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

1
sintakonte 28 nov. 2017 à 12:52

Essayez data_helper () pour appeler la fonction d'assistance.

data_helper();
0
Pragna 28 nov. 2017 à 11:33
47530145