Open In App

PHP | ReflectionMethod invoke() Function

Last Updated : 19 Jul, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

The ReflectionMethod::invoke() function is an inbuilt function in PHP which is used to invoke the specified reflected method and returns the result of the method.
Syntax: 
 

public mixed ReflectionMethod::invoke ( $object, $parameter )

Parameters: This function accepts two parameters which are illustrated below: 
 

  • object: This is the initialized class object.
  • parameter: This is the zero or more parameters to be passed to the method.

Return Value: This function returns the result of the invoked method.
Below programs illustrate the ReflectionMethod::invoke() function in PHP: 
Program_1: 
 

php




<?php
 
// Initializing a user-defined class
class Company {
 
    public function GFG($name) {
        return 'GeeksforGeeks' . $name;
    }
}
 
// Using ReflectionMethod() over the class Company
$A = new ReflectionMethod('Company', 'GFG');
 
// Calling the invoke() function
$B = $A->invoke(new Company(),
          ' is a Computer Science Portal.');
 
// Getting the result of the invoked method.
echo $B;
?>


Output: 

GeeksforGeeks is a Computer Science Portal.

 

Program_2: 
 

php




<?php
  
// Initializing some user-defined classes
class Department1 {
  
    public function hr($name) {
        return 'HR' . $name;
    }
}
class Department2 {
  
    public function coding($name) {
        return 'Coding' . $name;
    }
}
class Department3 {
  
    public function marketing($name) {
        return 'Marketing' . $name;
    }
}
 
// Using ReflectionMethod() over the above classes
$A = new ReflectionMethod('Department1', 'hR');
$B = new ReflectionMethod('Department2', 'coding');
$C = new ReflectionMethod('Department3', 'marketing');
  
// Calling the invoke() function and
// getting the result of the invoked method.
echo $A->invoke(new Department1(), ' is a Department.');
echo "\n";
echo $B->invoke(new Department2(), ' is also a Department.');
echo "\n";
echo $C->invoke(new Department3(), ' too.');
?>


Output: 

HR is a Department.
Coding is also a Department.
Marketing too.

 

Reference: https://www.php.net/manual/en/reflectionmethod.invoke.php,
 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads