Bonjour tout le monde...
Voilà, j'ai une variable qui contient le nom de ma classe, et je cherche à appeler une méthode static sur cette classe, sans avoir à créer d'instance, et je tourne en rond sur la syntaxe à utiliser...
Le message d'erreur est un "ParseError" habituel...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 // description de ma classe class MaClasse { // constructeur : function MaClasse() { echo 'constructeur'; } // methode static : function & Factory() { return new MaClasse(); } } // Appel au constructeur en direct : (fonctionne très bien) $maClasse = & new MaClasse(); // Appel à la méthode static en direct : (fonctionne très bien) $maClasse = & MaClasse::Factory(); // Et maintenant le nom de ma classe est dans une variable : $className = 'MaClasse'; // Appel au constructeur en passant par la vairable (fonctionne très bien) $maClasse = & new $className(); // Appel à la méthode static en passant par la variable (pbm de syntaxe) $maClasse = & $className::Factory();
Quelqu'un a une idée ?
Partager