PHP - Class/Object method_exists() Function
The PHP Class/Object method_exists() function is used to check if a given method exists in a given class or object. It returns true if the method exists and false if method does not exist. This is useful for finding that a method can be called without having an error.
Syntax
Below is the syntax of the PHP Class/Object method_exists() function −
bool method_exists ( object|string $object_or_class, string $method )
Parameters
Below are the parameters of the method_exists() function −
$object_or_class − It can be an object or a class name in which you want to check for the method's presence.
$method − It is the name of the method, checking for within the class or object.
Return Value
The method_exists() function returns TRUE if the method exists, otherwise FALSE on failure.
PHP Version
First introduced in core PHP 4, the method_exists() function continues to function easily in PHP 5, PHP 7, and PHP 8.
Example 1
First we will show you the basic example of the PHP Class/Object method_exists() function to check if a method exists in a class. So it will find that the method myMethod exists in MyClass and returns true.
<?php
// Define a class
class MyClass {
public function myMethod() {}
}
$result = method_exists('MyClass', 'myMethod');
var_dump($result);
?>
Output
Here is the outcome of the following code −
bool(true)
Example 2
In the below PHP code we will use the method_exists() function and check for a method which is not present in the class.
<?php
// Define a class here
class MyClass {
public function myMethod() {}
}
$result = method_exists('MyClass', 'methodNotPresent');
var_dump($result);
?>
Output
This will generate the below output −
bool(false)
Example 3
This example finds that the method exampleMethod exists using the method_exists() function in an object instance of MyClass and returns true.
<?php
// Define a class here
class MyClass {
public function exampleMethod() {}
}
// Create an instance of MyClass
$object = new MyClass();
$result = method_exists($object, 'exampleMethod');
// Display the output
var_dump($result);
?>
Output
This will create the below output −
bool(true)
Example 4
In the following example, we are using the method_exists() function to check the existence of a private method.
<?php
// Define a class here
class PrivateClass {
//Define a private method here
private function secretMethod() {}
}
// Check for the private method
$result = method_exists('PrivateClass', 'secretMethod');
// Display the result
var_dump($result);
?>
Output
Following is the output of the above code −
bool(true)