ホームページ  >  記事  >  バックエンド開発  >  PHPの特定のオブジェクトにメソッドが存在するかどうかを確認するにはどうすればよいですか?

PHPの特定のオブジェクトにメソッドが存在するかどうかを確認するにはどうすればよいですか?

藏色散人
藏色散人オリジナル
2021-08-20 10:17:241992ブラウズ

前回の記事「PHPで3つの魔法の定数を使ってディレクトリ、ファイル名、行番号を素早く取得する」では、3つの定数を使ってカレントディレクトリ、ファイルを取得する方法を紹介しました。名前と回線番号。困っている友達にバレます!

そこで、この記事では、PHP の面接プロセス中に非常によくある質問を紹介します:

その質問は、「PHP は、指定されたオブジェクトのメソッドが存在するかどうかをどのようにチェックしますか?」のようなものです。

3 秒ほどお時間をいただきますので、簡単にお答えいただけますか?

はい、それは method_exists() 関数です。

PHPのmethod_exists()関数は、指定されたオブジェクトのメソッドが存在するかどうかを確認するために使用されますが、この基礎知​​識を面接で聞かれたら、確実に楽勝できると思います!

次に、method_exists() 関数の使用法を簡単に紹介します。

この関数の構文は、method_exists(objectname, methodname); です。

パラメータ objectname は、オブジェクトの例またはクラス名を表します。

パラメータmethodnameはメソッド名を表します。

注: パラメータ objectname と methodname は必須フィールドです。

method_exists() の使用例は次のとおりです:

<?php
    class Demo {
        function funcdemo(){
            echo &#39;Hello World&#39;;
        }
    }
    $demo = new Demo();
    if(method_exists($demo, funcdemo)) {
        echo &#39;方法存在于给定对象中&#39;;
    }
?>

出力:

方法存在于给定对象中

ところで、関連する関数をいくつか紹介します。 :

function_exists() - 指定された関数が定義されている場合は true を返します;

構文: function_exists(string $function_name): bool

戻り値: function_name が存在し、実際に関数である場合は true を返し、それ以外の場合は false を返します。

is_callable() - パラメータが正当な呼び出し可能な構造体であるかどうかを確認します;

構文: is_callable(callable $name, bool $syntax_only = false, string &$callable_name = ?): bool

戻り値: name が呼び出し可能な場合は true、それ以外の場合は false。

class_exists() - クラスが定義されているかどうかを確認します;

構文: class_exists(string $class, bool $autoload = true): bool

戻り値: class が指すクラスが定義されている場合、この関数は true を返し、そうでない場合は false を返します。

PHP 中国語 Web サイト プラットフォームには、多くのビデオ教育リソースがあります。皆さんも「PHP ビデオ チュートリアル 」を学習してください。

以上がPHPの特定のオブジェクトにメソッドが存在するかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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