Vous pouvez également utiliser un rappel, qui est un tableau de l'instance et une chaîne nommant la fonction. Si l'appel prévu est foo- $> bar(), le rappel serait:
$callback = array($foo, 'bar');
Fonctions régulières (pas une méthode) et les méthodes statiques sont stockées sous forme de chaînes simples:
// Function bar
$callback = 'bar';
// Static method 'bar' in class Foo
$callback = 'Foo::bar';
Il est appelé avec call_user_func ou call_user_func_array, le second permettant paramètres à passer à la fonction de rappel:
// No parameters
call_user_func($callback);
// Parameters 'baz' and 'bat'
call_user_func_array($callback, array('baz', 'bat');
Il peut sembler comme cela est une complication inutile, mais dans de nombreux cas, y Vous voudrez peut-être créer un appel de fonction par programmation, ou vous ne connaîtrez pas à l'avance le nombre de paramètres que vous passerez à une fonction (certaines fonctions, telles que array_merge et sprintf autorisent un nombre variable de paramètres).