Description
bool
is_callable ( mixed var [, bool syntax_only [, string &callable_name]] )
is_callable() vérifie qu'une variable
peut être appelée comme fonction. Cette fonction peut vérifier qu'une
variable contient un nom de fonction valide, ou bien qu'elle contient
un tableau, avec un objet et un nom de méthode.
Le paramètre var peut être le nom d'une fonction
stockée dans une variable de chaîne, ou un objet, et un nom de méthode
pour cet objet, sous la forme :
array($unObjet, 'NomDeMethode' ) |
Si l'argument syntax_only vaut TRUE, la
fonction ne va vérifier que si var peut être
une fonction ou une méthode. Il va simplement rejeter les variables
qui ne sont pas des chaînes, ou des tableaux qui n'ont pas la bonne
structure pour être utilisés comme fonction de callback. Les tableaux
valides sont supposés n'avoir que deux entrées, le premier étant un
objet ou une chaîne, et le second une chaîne.
L'argument callable_name reçoit le nom
à utiliser. Dans l'exemple ci-dessous, il vaut
"uneClasse:uneMethode". Notez que, bien que
uneClasse:uneMethode() puisse être appelée sous forme
statique, ce n'est pas le cas.
Exemple 1. Exemple avec is_callable()
<?php // Comment vérifier qu'une variable peut être appelée // comme fonction ?
// // Variable simple contenant une fonction //
function uneFonction() { }
$fonctionVariable = 'uneFonction';
var_dump( is_callable( $fonctionVariable, false, $callable_name )); // bool(true)
echo $callable_name, "\n"; // uneFonction
// // Tableau contenant une méthode //
class uneClasse {
function uneMethode() { }
}
$unObjet = new uneClasse();
$methodeVariable = array($unObjet, 'uneMethode' );
var_dump(is_callable($methodeVariable, true, $callable_name )); // bool(true)
echo $callable_name, "\n"; // uneClasse:uneMethode
?>
|
|
Voir aussi
function_exists() et
method_exists().