Bonjour,
Je suis vraiment débutant en POO et je rencontre un problème sur la méthode __callStatic pour la version PHP 5.3.
J'ai acquis un site il y a quelques temps, il fonctionne très bien en PHP 5.2.
M'apprêtant à changer de serveur, j'ai installé PHP 5.3 mais je rencontre des problèmes.
Une fonction __callStatic avait été développée pour prévoir un changement de version PHP.
Le problème, c'est qu'elle semble être mal développée et génère l'erreur suivante :
En effet, elle reçoit 3 arguments.Fatal error: Method MaClasse::__callstatic() must take exactly 2 arguments
Voici la méthode en question :
Tous les appels à cette méthode sont donc soumis avec 3 paramètres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static function __callStatic($className, $name, $arguments) { if(method_exists($className, $name) && is_callable(array($className, $name))) { return call_user_func_array(array($className, $name), $arguments); } else { throw new BadMethodCallException("La méthode \"$name\" n'existe pas ou n'est pas appelable depuis ce contexte."); } }
Comment faire pour la rendre fonctionnelle et récupérer $className dans la méthode ? (toutes les classes sont abstraites)
Merci.
Partager