Singelton: Execution code __Construct impossible [Résolu]

Signaler
Messages postés
88
Date d'inscription
jeudi 9 mars 2006
Statut
Membre
Dernière intervention
7 novembre 2010
-
Messages postés
88
Date d'inscription
jeudi 9 mars 2006
Statut
Membre
Dernière intervention
7 novembre 2010
-
Bonjour à tous, je fais appel à vous car je rencontre un petit problème avec un pattern Singelton.

En effet, le code placé dans private function __Construct ne fonctionne pas. Je m'explique:

J'inclus des singeltons avec la function suivante:

	private static function RequireSingelton($Categorie, $ClassName, $Fichier, $Ligne) {

$Importation = CORE_CLASS.DS.$Categorie.DS.$ClassName.EXT_CLASS;

    if (file_exists($Importation)) {
require_once($Importation);			
self::$ListeSingelton[$ClassName]= eval($ClassName.'::GetInstance();');
return true;
} else {
 $AGPErreur=new AGPMainErreur;
 $AGPErreur->Handler(E_USER_ERROR, ERR_008.' : '. $ClassName, $Fichier, $Ligne,ERR_008);
}
    } 


Dans le cas ou j'importe le singelton suivant :

class Test {
private static $Instance;	

/**
 * @desc Construction du singelton
 */
private function __Construct(){ echo 'Simple test d\'execution';}	
public static function GetInstance() {
if (empty(self::$Instance)) {
self::$Instance = new Test;
}
return self::$Instance;
}
}// Fin de class


L' echo 'simple test d\'execution'; dans le constructeur ne fonctionne pas

Avez-vous une idée du pourquoi?

3 réponses

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

Il n'y a pas de majuscule à __construct
Messages postés
88
Date d'inscription
jeudi 9 mars 2006
Statut
Membre
Dernière intervention
7 novembre 2010

merci pour cette erreur mais apres modification cela ne marche toujours pas.

Je me demande si le problème ne vient pas de eval dans la fonction d'include. Est-ce possible?
Messages postés
88
Date d'inscription
jeudi 9 mars 2006
Statut
Membre
Dernière intervention
7 novembre 2010

Ok c'était bien çà. Merci