Maison > php教程 > PHP开发 > Analysez la différence entre la fonction php method_exists() et is_callable()

Analysez la différence entre la fonction php method_exists() et is_callable()

高洛峰
Libérer: 2016-12-22 15:42:24
original
1120 Les gens l'ont consulté

Quelle est la différence entre la fonction PHP method_exists() et is_callable() ? Dans le processus de conception orienté objet PHP, nous devons souvent juger lors de l'appel d'une méthode si elle appartient à une certaine classe. Les méthodes couramment utilisées incluent method_exists() et is_callable(). En comparaison, la fonction is_callable() est plus. Advanced. Certains, qui acceptent le nom de la méthode sous la forme d'une variable chaîne comme premier argument, renvoient true si la méthode de classe existe et peut être appelée. Si vous souhaitez vérifier si une méthode d'une classe peut être appelée, vous pouvez transmettre un tableau à la fonction en tant que paramètre au lieu du nom de méthode de la classe. Le tableau doit contenir le nom de l'objet ou de la classe comme premier élément et le nom de la méthode à vérifier comme deuxième élément. Si la méthode existe dans la classe, la fonction renvoie vrai.
Exemple de code :

if ( is_callable( array( $obj, $method ) ) ) 
{ 
/*要操作的代码段*/
}
Copier après la connexion

is_callable() peut ajouter un autre paramètre : une valeur booléenne. Si ce paramètre est défini sur true, la fonction vérifie uniquement si la syntaxe de la méthode ou du nom de fonction donné est. corriger sans vérifier s’il existe réellement. Les paramètres de la fonction method_exists() sont un objet (ou un nom de classe) et un nom de méthode si la méthode donnée existe dans la classe de l'objet, elle renvoie true
Exemple de code :

if ( method_exists( $obj, $method ) ) 
{ 
/*要操作的代码段*/
}
Copier après la connexion

php. function La différence entre method_exists() et is_callable() est qu'en php5, l'existence d'une méthode ne signifie pas qu'elle peut être appelée. Pour les méthodes de types privés, protégés et publics, method_exits() renverra true, mais is_callable() vérifiera si elle existe et est accessible. S'il est de type privé et protégé, elle renverra false.


Pour plus d'articles sur la différence entre les fonctions PHP method_exists() et is_callable(), veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal