OVH Cloud OVH Cloud

Probleme Appel fonction statique

1 réponse
Avatar
Bhaa Dhrymm
Salut,
j'ai besoin d'appeler une fonction statique sur une classe non
instancié. Le nom de la fonction a appeler est connue(car définie par
une norme), mais le nom de la classe elle est en fonction d'un choix
utilisateur (et est donc dans une variable)

mon probleme est que cela me retourne un "parse error,unexpected
T_PAAMAYIM_NEKUDOTAYIM", j'ai essayer plein de syntaxe mais j'ai
toujours la même erreur. exemple :

class maclasse{
function mafonction(){ return 10;}
}



$class = "maclasse";
echo $class::mafonction(); //affiche un parse error
echo $class.::mafonction(); // affiche un parse error
echo "$class::mafonction();" // affiche maclasse::mafonction() comme un
texte normal

et j'ai dût encore essayer d'autres syntaxes mais ca marchait toujours
pas... comment faire?

pourtant un echo $monobjet->$unefonctionpasséenvariable(); ben ca marche
nikel... il doit bien y avoir un moyen pour que la classe puisse etre
mise dans une variable pareillement non ?

je tiens a preciser que je ne peut faire de if, switch ou autre, pour
tester quelle classe est appelé, car c'est un code qui recupere les noms
des classes déclaré dans un fichier personnalisable(et donc je n'ai
aucun moyen de savoir a l'avance le nom et le nombre de classes qu'il
contiendra une fois que l'utilisateur l'aura modifier chez lui).

1 réponse

Avatar
Bhaa Dhrymm
je donne la réponse car a force de chercher et de tourner le probleme
dans ma tete j'ai ouvert les yeux sur l'evidence même (et au cas ou ca
pourrais servir aux autres)
j'avais pas pensé a :
call_user_func(array($maclass,'mafonction));