Est-il possible d'émuler la méthode magique __call () de PHP5 en PHP4?
-
09-06-2019 - |
Question
PHP5 a une "méthode magique" __ call ()
pouvant être défini sur toute classe invoquée lorsqu'une méthode non définie est appelée - elle est à peu près équivalente à method_missing
de Ruby ou AUTOLOAD . Est-il possible de faire quelque chose comme ça dans les anciennes versions de PHP?
La solution
Cet article, Utiliser Une surcharge de méthode en PHP 4 sur DevShed pourrait vous aider.
Autres conseils
Le manque le plus important qui me manquait était que __ call
existe en PHP4, mais vous devez l'activer classe par classe en appelant overload ()
, comme vu dans la la documentation php ici .
Malheureusement, les signatures de la fonction __call () sont différentes entre PHP4 et PHP5, et il ne semble pas y avoir de moyen de faire une implémentation qui fonctionnera dans les deux cas.
Je me souviens de l’avoir utilisé, et un peu de google suggère que
function __call($method_name, $parameters, &$return)
{
$return_value = "You called ${method_name}!";
}
en tant que fonction membre fera le travail.