2010-01-15 4 views
3

J'ai décidé d'utiliser le modèle singleton pour mon application. Cela a le plus de sens pour moi. Cependant, juste quand j'ai l'impression d'avoir fait quelques progrès, je tombe sur un autre mur.Utilisation d'une variable pour charger dynamiquement une classe

J'ai une fonction de chargement. La fonction de chargement fait ce qui suit.

Vérifiez si la classe a déjà été chargée. - Si oui, return $ class :: get_instance(); - Sinon - recherche de classe à divers endroits - si trouvé - return $ class :: get_instance(); - Sinon, retour erreur. Avant d'adopter le modèle Singleton, j'instanciais les classes avec la classe de chargement.

Dans le contrôleur je l'aurais.

$session = $this->load->library('session'); 

La classe de charge alors de trouver le fichier et retour ..

return new $class_name; 

J'espère que le en changeant la méthode des classes de chargement, il serait un coup sec à quelques lignes, mais ces quelques réglages sont générer des erreurs de syntaxe.

return $class_name::get_instance(); 

Y at-il un moyen d'écrire la ligne ci-dessus sans l'erreur de syntaxe?

+0

vous n'avez pas 'erreur de syntaxe, T_PAAMAYIM_NEKUDOTAYIM inattendue ...' par hasard? – Anurag

+0

Vous voudrez peut-être remplacer * loaded * par * instantiated *. Le chargement ressemble plus à l'inclusion du fichier de classe. – Gordon

Répondre

Questions connexes