7.105 Variables
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . doubleval . empty . floatval . get_defined_vars . get_resource_type . gettype . import_request_variables . intval . is_array . is_bool ->is_callable . is_double . is_float . is_int . is_integer . is_long . is_null . is_numeric . is_object . is_real . is_resource . is_scalar . is_string . isset . print_r . serialize . settype . strval . unserialize . unset . var_dump . var_export
|
7.105.17 is_callable()
Détermine si l'argument peut être appelé comme fonction
[ Exemples avec is_callable ] PHP 4 >= 4.0.6
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é dans une variable de chaîen, 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é comme fonction de call back. Les tableaux
valides sont supposés n'avoir que deux entrées, le premier étant un
objet ou une chaîne, et de second une chaîne.
L'argument
callable_name
recoit le nom
à utiliser ("callable name"). Dans l'exemple ci-dessous, il vaut
"uneClasse:uneMethode"
. Notez que, bien que
uneClasse:uneMethode()
puisse être appelé sous forme
static, ce n'est pas le cas.
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
// // Tableu 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
?>
|
|