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

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();
Le message d'erreur est un "ParseError" habituel...
Quelqu'un a une idée ?