Pour savoir si une méthode ou une fonction existe en php il y a deux fonctions à connaitre : method_exists et function_exists.
Tester si une fonction existe
La fonction function_exists permet de savoir si une fonction existe ou non, elle retourne vrai si la fonction existe et faux sinon.
<?php
function mafonction(){}
var_dump(function_exists('mafonction'));
/** Affiche boolean true */
var_dump(function_exists('mafonctionquinexistepas'));
/** Affiche boolean false */
?>
Tester si une méthode membre existe
Pour savoir si une méthode est disponible pour un objet il faut cette fois utiliser method_exists.
<?php
class foo
{
function existe(){}
}
$foo = new foo();
var_dump(method_exists($foo,'existe'));
/** Affiche boolean true */
var_dump(method_exists($foo,'existepas'));
/** Affiche boolean false */
?>
Tester l'existence d'une méthode statique
Pour tester l'existence d'une méthode statique on utilise la fonction method_exists avec le nom de la classe comme premier paramètre.
<?php
class foo
{
public static function existe(){}
}
var_dump(method_exists('foo','existe'));
/** Affiche boolean true */
var_dump(method_exists('foo','existepas'));?>
/** Affiche boolean false */
?>
- Référence de function_exists
- Référence de method_exists
Image : Wandrerstefan