Home  >  Article  >  Backend Development  >  How to check if a method exists in a given object in PHP?

How to check if a method exists in a given object in PHP?

藏色散人
藏色散人Original
2021-08-20 10:17:241993browse

In the previous article "Use 3 magical constants in PHP to quickly obtain the directory, file name and line number", I introduced to you the method of using 3 constants to obtain the current directory, file name and line number. Friends in need can find out!

So this article will introduce you to a very common question during the PHP interview process:

The question is like "How does PHP check whether a method in a given object exists?"

I’ll give you 3 seconds. Can you give me a quick answer?

Yes, it is the method_exists() function!

PHP method_exists() function is used to check whether the method in a given object exists. If you are asked about this basic knowledge in the interview, I believe you can definitely win it easily!

The following is a brief introduction to the use of the method_exists() function:

The syntax of this function is method_exists(objectname, methodname);

The parameter objectname represents the object example or class name.

The parameter methodname represents the method name.

Note: The parameters objectname and methodname are required fields.

Examples of using method_exists() are as follows:

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

Output:

方法存在于给定对象中

By the way, I would like to introduce some related functions:

function_exists() - Returns true if the given function has been defined;

Syntax: function_exists(string $function_name): bool

Return value: If function_name exists and is indeed a function, it returns true , otherwise it returns false .

is_callable() - Check whether the parameter is a legal callable structure;

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

Return value: true if name is callable, otherwise false.

class_exists() - Check whether the class has been defined;

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

Return value: If the class pointed to by class has been defined, this function returns true, otherwise it returns false.

PHP Chinese website platform has a lot of video teaching resources. Welcome everyone to learn "PHP Video Tutorial"!

The above is the detailed content of How to check if a method exists in a given object in PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn