当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP ReflectionMethod invoke()用法及代码示例


ReflectionMethod::invoke()函数是PHP中的内置函数,用于调用指定的反射方法并返回方法的结果。

用法:

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

参数:此函数接受两个参数,如下所示:


  • object:这是初始化的类对象。
  • parameter:这是要传递给该方法的零个或多个参数。

返回值:该函数返回被调用方法的结果。

以下示例程序旨在说明PHP中的ReflectionMethod::invoke()函数:
程序_1:

<?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; 
?>

输出:

GeeksforGeeks is a Computer Science Portal.

程序_2:

<?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.'); 
?>

输出:

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

参考: https://www.php.net/manual/en/reflectionmethod.invoke.php



相关用法


注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 PHP | ReflectionMethod invoke() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。