ホームページ  >  記事  >  バックエンド開発  >  PHPはクラスメソッドが存在するかどうかを判断します

PHPはクラスメソッドが存在するかどうかを判断します

WBOY
WBOYオリジナル
2016-06-20 13:00:333125ブラウズ

php はクラスメソッドが存在するかどうかを判断します

PHP 開発を行っているときに、サーバーの関連構成を変更できず、サーバーの特定の機能が有効になっているかどうかがわからない状況に遭遇した場合、特定の特殊な機能を直接使用すると、プログラムで次のようなエラーが報告されます。 curl_init などのシステム関数として。サーバーがcurl関連サービスを有効にしていない場合、curlシリーズ関数を直接使用すると、「未定義関数curl_init()への呼び出し...」などのエラーが報告されます。

では、これが起こった場合はどうすればよいでしょうか?多くのことを行うには 1 つの方法だけではありません。いくつかの方法が機能しない場合は、別の方法を使用することもできます。ここでは、あるメソッドが存在するかどうかを判断する問題が必要になります。そのメソッドが存在しない場合は、別のメソッドを使用します。

ここでは、関数、クラス、クラス内のメソッドが存在するかどうかを確認する方法の概要を示します。

(1) PHP はシステム関数が存在するか自分で記述した関数が存在するかを判定します

bool function_exists ( string $function_name ) は、関数が定義されているかどうかを判断します。例:

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

(2) PHP はクラスが存在するかどうかを判断します

bool class_exists ( string $class_name [, bool $autoload = true ] ) は、クラスが定義されているかどうかをチェックします。定義されている場合は true を返す必要があり、そうでない場合は false を返します。次に例を示します。

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

(3) PHP はクラス内のメソッドが定義されているかどうかを判断します

bool method_exists (mixed $object , string $method_name ) は、クラスのメソッドが存在するかどうかをチェックします。例:

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


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。