[POO] Méthode __callStatic PHP 5.3
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 :
Citation:
Fatal error: Method MaClasse::__callstatic() must take exactly 2 arguments
En effet, elle reçoit 3 arguments.
Voici la méthode en question :
Code:
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.");
}
} |
Tous les appels à cette méthode sont donc soumis avec 3 paramètres...
Comment faire pour la rendre fonctionnelle et récupérer $className dans la méthode ? (toutes les classes sont abstraites)
Merci.