Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



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 callback, 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 17-14. 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 17-15. 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().

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright