Home >Backend Development >PHP Tutorial >Note 013 The difference between the function of is_callable() and method_exists() in PHP

Note 013 The difference between the function of is_callable() and method_exists() in PHP

黄舟
黄舟Original
2016-12-26 10:03:152016browse

The role of is_callable()

Recently I came into contact with the is_callable() method. In the past, I used the method_exissts() method to perform related logical processing. It was not until I came into contact with the is_callable() method today that I discovered that the two are similar. Big similarities. The syntax structure of the

is_callable() method is:

bool is_callable ( callable $name [, bool $syntax_only = false [, string &$callable_name ]] )

Function It is to verify whether the content of the variable can be called as a function. Parameter 1 name is the name of the callback function that needs to be checked. If it is an object method, this requires an array as parameter 1. The parameter at this time should be the following structure:

array (class instance, method name)

Parameter 2 syntax_only is a Boolean value. If set to true, this function only verifies whether name is the syntax of a function or method, and does not actually detect whether the function exists.

Parameter 3 callable_name is used to receive the "callable name". Ordinary functions will return the function name, and methods in the class will return strings in the form: someClass::someMethod.

The difference between is_callable() and method_exists()

method_exists() The parameters of the function are an object (or class name) and a method name, if the given method exists in the object's class , then returns true.

The difference between the two is:

In php5, the existence of a method does not mean that it can be called. For methods of private, protected and public types, method_exits() will return true, but is_callable() will check for existence and whether it can be accessed. If it is of private, protected type, it will return false.

The above is the difference between the function of is_callable() and method_exists() in Note 013 in PHP. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


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