Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überprüfe ich, ob in einem bestimmten Objekt in PHP eine Methode vorhanden ist?

Wie überprüfe ich, ob in einem bestimmten Objekt in PHP eine Methode vorhanden ist?

藏色散人
藏色散人Original
2021-08-20 10:17:241996Durchsuche

Im vorherigen Artikel „Verwenden Sie 3 magische Konstanten in PHP, um schnell das Verzeichnis, den Dateinamen und die Zeilennummer zu erhalten“ habe ich Ihnen die Methode vorgestellt, mit der Sie 3 Konstanten verwenden, um das aktuelle Verzeichnis, den Dateinamen und die Zeilennummer zu erhalten In Not kann man einmal mehr erfahren!

In diesem Artikel stellen wir Ihnen eine sehr häufig gestellte Frage während des PHP-Interviewprozesses vor:

Die Frage lautet wie folgt: „Wie prüft PHP, ob eine Methode in einem bestimmten Objekt existiert?“?

Ich gebe dir 3 Sekunden. Kannst du mir kurz antworten?

Ja, es ist die Funktion method_exists()! 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

PHP method_exists() Funktion wird verwendet, um zu überprüfen, ob die Methode in einem bestimmten Objekt existiert. Wenn dieses Grundwissen im Interview gefragt wird, kann man es meiner Meinung nach auf jeden Fall leicht gewinnen!

Das Folgende ist eine kurze Einführung in die Verwendung der Funktion method_exists():

Die Syntax dieser Funktion lautet method_exists(objectname, methodname);

The Der Parameter Objektname stellt ein Objektbeispiel oder einen Klassennamen dar. 🎜🎜Der Parameter methodname repräsentiert den Methodennamen. 🎜🎜Hinweis: Die Parameter Objektname und Methodenname sind Pflichtfelder. 🎜🎜Das Beispiel für die Verwendung von method_exists() lautet wie folgt: 🎜rrreee🎜Ausgabe: 🎜rrreee🎜Lassen Sie mich Ihnen übrigens einige verwandte Funktionen vorstellen: 🎜🎜→function_exists() - If Gibt „true“ zurück, wenn die angegebene Funktion definiert wurde; 🎜🎜Syntax: function_exists(string $function_name): bool🎜🎜Rückgabewert: Gibt „true“ zurück, wenn function_name existiert und tatsächlich eine Funktion ist , andernfalls wird false zurückgegeben. 🎜🎜→is_callable() - Überprüfen Sie, ob der Parameter eine zulässige aufrufbare Struktur ist 🎜🎜 Syntax: is_callable(callable $name, bool $syntax_only = false, string &$callable_name = ?) : bool🎜🎜Rückgabewert: true, wenn der Name aufrufbar ist, andernfalls false. 🎜🎜→class_exists() - Überprüfen Sie, ob die Klasse definiert wurde; 🎜🎜Syntax: class_exists(string $class, bool $autoload = true): bool🎜🎜Return Wert: Diese Funktion gibt „true“ zurück, wenn die Klasse, auf die „class“ zeigt, definiert wurde, andernfalls „false“. 🎜🎜Die chinesische PHP-Website-Plattform verfügt über viele Video-Lehrressourcen. Jeder ist herzlich willkommen, „🎜PHP-Video-Tutorial🎜“ zu lernen! 🎜

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob in einem bestimmten Objekt in PHP eine Methode vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn