2010-06-05 3 views
1

J'ai commencé à travailler avec CodeIgniter, mais je ne peux pas comprendre on pense. Comment charger une classe dans une autre?CodeIgniter charger classe dans la classe

$this->load->library("hello_world"); 

Cela ne fonctionne pas?

ma classe -> load -> classe hello_world

class myclass { 
     function test() { 
     $this->load->library("hello_world"); 
     $this->hello_world->hello(); 
     } 
} 

Message: Undefined property: maclasse :: charge $

+0

où vous avez enregistré votre classe? dans l'application/bibliothèque? – streetparade

+0

oui, dans l'application/la bibliothèque – user355510

Répondre

5

La possibilité de charger une classe dépend de la disponibilité de la fonction load-> library. Il est mis à la disposition du contrôleur et des classes de modèles, mais il se peut que leur extension ne convienne pas à votre utilisation. A la place, vous pouvez obtenir une référence à CI et l'utiliser pour charger et faire référence à votre classe, ou vous pouvez le charger comme d'habitude en PHP ($ c = new MyClass).

Pour obtenir un rerence à CI utiliser les éléments suivants:

$CI =& get_instance(); 

$CI->load->helper('url'); 
$CI->load->library('session'); 
$CI->config->item('base_url'); 
etc. 
+0

J'ai fait du travail, merci :) – user355510

1

Vous devez étendre le contrôleur de CI/modèle

par exemple

class Some_controller extends Controller 
{ 
    public function index() {} 
} 
+1

C'est effectivement le cas pour les contrôleurs et non pour les bibliothèques. Je pense qu'il demande comment inclure une bibliothèque? – streetparade

+0

oui, je demandais la bibliothèque – user355510

+2

Mentionnez que la prochaine fois: P –

Questions connexes