PHP permet bien des choses, notamment l’utilisation de fonction de callback. Les fonction de callback sont des fonctions qui seront appeler durant l’exécution d’une autre fonction, et ce de manière automatique.
C’est bien souvent le cas lors d’expression régulière ou encore lors d’une session php passant par ses propres fonctions (via session_set_save_handler() )!
Les fonctions de callback peuvent être rpésente sous différentes forme :
- Fonction de PHP
- Fonction que vous avez définie
- Méthode static
- Méthode non-static
Dans le cas de fonctions, il suffit de mettre le nom de la fonction entre guillemet.
Mais dans le cas de méthode, il vous faut utiliser un array
Pour les méthodes static, ce sera : array('NOMDELACLASS', 'NOMDELAMETHODE')
Pour les méthodes non-static, ce sera : array(INSTANCEDELACLASS, 'NOMDELAMETHODE')
Exemple :
class maClass { static function toto() { echo 'on a appellé toto'; } public function totor() { echo 'on a appellé totor'; } } //cas static call_user_func(array('maClass', 'toto')); //on a appellé toto //cas non-static $maClass = new maClass(); call_user_func(array($maClass, 'totor')); //on a appellé totor
J’espère que ce petit truc vous sera utile.
Similar Posts:
- None Found
Hier en codant un petit truc, j’ai eu besoin de mettre en place un gestionnaire d’exception. J’ai donc créé ma méthode, et juste après la déclaration de la classe j’ai mis :
set_exception_handler(array(NOM_DE_LA_CLASSE, ‘exceptionHandler’));
et ça a marché alors que ma méthode n’etait pas static Oo