Fonctions variables

PHP supporte le concept de fonctions variables. 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 autres, pour faire des fonctions de rappel, des tables de fonctions...

Les fonctions variables ne peuvent pas fonctionner avec les �l�ments de langage comme les echo(), print(), unset(), isset(), empty(), include(), require() etc. Vous devez utiliser votre propre gestion de fonctions pour utiliser un de ces �l�ments de langages comme fonctions variables.

Exemple #1 Exemple de fonction variable

<?php
function foo() {
    echo 
"dans foo()<br />\n";
}

function 
bar($arg '')
{
    echo 
"Dans bar(); l'argument �tait '$arg'.<br />\n";
}

// Ceci est une fonction d�tourn�e de echo
function echoit($string)
{
    echo 
$string;
}

$func 'foo';
$func();        // Appel foo()

$func 'bar';
$func('test');  // Appel bar()

$func 'echoit';
$func('test');  // Appel echoit()
?>

Vous pouvez aussi appeler une m�thode d'un objet en utilisant le syst�me des fonctions variables.

Exemple #2 Exemple de m�thode variable

<?php
class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // Appelle la m�thode Bar()
    
}
    
    function 
Bar()
    {
        echo 
"C'est Bar";
    }
}

$foo = new Foo();
$funcname "Variable";
$foo->$funcname();  // Appelle $foo->Variable()

?>

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