Le projet sur lequel je travaille contient quelque chose comme un wrapper pour call_user_func (_array) qui effectue des vérifications avant l'exécution. L'une de ces vérifications est method_exists (Dans le cas le premier argument fourni est une instance d'une classe et le second est un nom de méthode) L'autre is_callable. La fonction lèvera une exception si l'une de ces vérifications échoue. Mon code contient un tableau avec des noms de fonctions (setFoo, setBar, etc.) et la fonction php magic pour surcharger (__call) qui gère le réglage, le remplacement et la suppression de certaines variables (mieux certains éléments du tableau).PHP __call vs method_exists
Le problème: method_exists retournera false si la fonction n'est pas définie.
Est-ce que j'ai une chance d'obtenir un vrai si la fonction __call gère correctement la requête?
Grande question, je vais jouer avec cela. –
Ce qui est nécessaire est une autre "méthode magique" __canCall ou quelque chose ... –
is_callable() fonctionne avec des instances de classes. Je ne vois pas pourquoi vous utilisez method_exists() du tout. is_callable() fait tout ce que method_exists() fait et en plus il fonctionne avec __call(). – dave1010