PHP - Class/Object get_class_methods() Function



The PHP Class/Object get_class_methods() function is used to return the method names for a particular class or object in the form of an array. This function is useful for giving a list of all the methods that are available for use with a specific object or class.

Syntax

Below is the syntax of the PHP Class/Object get_class_methods() function −

array get_class_methods( object|string $object_or_class )

Parameters

This function accepts $object_or_class parameter which is the class name or an object instance.

Return Value

The get_class_methods() function returns an array of method names defined for the class specified by class_name. In case of an error, it returns NULL.

PHP Version

First introduced in core PHP 4, the get_class_methods() 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 get_class_methods() function to get methods from a simple class. The function only returns public functions, so method3 will not be included as it is a private method.

<?php
   // Declare MyClass here
   class MyClass {
      public function method1() {}
      public function method2() {}
      private function method3() {}
   }
    
   $methods = get_class_methods('MyClass');
   print_r($methods);
?>

Output

Here is the outcome of the following code −

Array
(
    [0] => method1
    [1] => method2
)

Example 2

In the below PHP code we will try to use the get_class_methods() function and get methods from an object instance.

<?php
   // Declare MyClass here
   class MyClass {
      public function signUp() {}
      public function signIn() {}
   }
    
   $obj = new MyClass();
   $methods = get_class_methods($obj);
   print_r($methods);
?> 

Output

This will generate the below output −

Array
(
  [0] => signUp
  [1] => signIn
)

Example 3

This example demonstrates how get_class_methods() function works and also get methods inherited from a parent class.

<?php
   // Declare ParentClass here
   class ParentClass {
      public function parentMethod() {}
   }
    
   // Declare ChildClass here
   class ChildClass extends ParentClass {
     public function childMethod() {}
   }
    
   $methods = get_class_methods('ChildClass');
   print_r($methods);
?> 

Output

This will create the below output −

Array
(
    [0] => childMethod
    [1] => parentMethod
)

Example 4

This code creates a class Myclass with a constructor and two methods (function1 and function2). It uses get_class_methods() to get and print the names of all methods in the class.

<?php
  // Declare Myclass here
  class Myclass {

      // constructor
      function __construct()
      {
         return(true);
      }

      // Declare function 1
      function function1()
      {
         return(true);
      }

      // Declare function 2
      function function2()
      {
         return(true);
      }
   }

   $class_methods = get_class_methods(new myclass());

   foreach ($class_methods as $method_name) {
      echo "$method_name\n";
   }
?> 

Output

Following is the output of the above code −

__construct
myfunc1
myfunc2
php_function_reference.htm
Advertisements