Variables fonctions

PHP supporte le concept de variables fonctions. Cela signifie que si le nom d'une variable est suivi de parenthèses, PHP recherchera une fonction de même nom, et essaiera de l'exécuter. Cela peut servir, entre autre, pour faire des fonctions callback, des tables de fonctions...

Les variables fonctions ne peuvent pas fonctionner avec les éléments de langage comme les echo(), unset(), isset(), empty(), etc... C'est une des différences majeures entre les fonctions PHP et les éléments de langage.

Exemple 12-13. Exemple de variable fonction

<?php
function foo() {
    echo
"dans foo()<br>\n";
}
function
bar( $arg = '' ) {
    echo
"Dans bar(); l'argument &eacute;tait '$arg'.<br>\n";
}
$func = 'foo';
$func();
$func = 'bar';
$func( 'test' );
?>

Voir aussi call_user_func(), les variables variables et function_exists().