Maison  >  Article  >  développement back-end  >  Comment déterminer si des fonctions, des classes et des méthodes de classe existent en PHP

Comment déterminer si des fonctions, des classes et des méthodes de classe existent en PHP

怪我咯
怪我咯original
2017-06-28 13:35:299928parcourir

Lors du développement PHP, si vous rencontrez une situation dans laquelle vous ne pouvez pas modifier la configuration pertinente du serveur et ne savez pas si certaines fonctions du serveur sont activées, l'utilisation directe de certaines fonctions spéciales entraînera le programme pour signaler une erreur, tel que curl_init est une fonction système. Lorsque le serveur n'active pas les services liés à curl, l'utilisation directe des fonctions de la série curl signalera une erreur telle que Appel à une fonction non définie curl_init()....

Alors, que devons-nous faire si cela se produit ? Il n’y a pas qu’une seule façon de faire plusieurs choses. Si certaines méthodes ne fonctionnent pas, nous pouvons également en utiliser une autre. Ici, nous devons impliquer le problème de juger si une certaine méthode existe. Si la méthode existe, utilisez cette méthode. Si la méthode n'existe pas, utilisez une autre méthode.

Voici un résumé de la façon de déterminer si une fonction, une classe et une méthode dans une classe existent :

(1) PHP détermine si une fonction système ou une fonction écrite par vous-même existe

bool function_exists ( string $function_name ) détermine si la fonction a été définie, par exemple :

if(function_exists('curl_init')){
	curl_init();
}else{
	echo 'not function curl_init';
}

(2) PHP détermine si la classe existe

bool class_exists ( string $class_name [, bool $autoload = true ] ) vérifie si une classe a été définie, elle doit retourner vrai, sinon elle renvoie faux, par exemple :

if(class_exists('MySQL')){
    $myclass=new MySQL();
}

(3) Jugement PHP Si une méthode de la classe a été définie

bool method_exists ( Mixed $object , string $method_name ) Vérifiez si la méthode de la classe existe, par exemple :

$directory=new Directory;
if(!method_exists($directory,'read')){
	echo '未定义read方法!';
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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