當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。