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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top