ReflectionMethod::getClosure()函數是PHP中的一個內置函數,用於為該方法返回動態創建的閉包,否則,在出現錯誤的情況下返回NULL。
用法:
Closure ReflectionMethod::getClosure ( $object )
參數:該函數接受參數對象,該參數對象是指定的user-defiend類對象。
返回值:該函數為該方法返回一個動態創建的閉包,否則,在發生錯誤的情況下返回NULL。
以下示例程序旨在說明PHP中的ReflectionMethod::getClosure()函數:
程序_1:
<?php
// Initializing a user-defined class
class Company {
protected function GeeksforGeeks($name) {
return 'GFG' . $name;
}
}
// Using ReflectionMethod() over the class Company
$A = new ReflectionMethod('Company', 'GeeksforGeeks');
// Calling the getClosure() function
$B = $A->getClosure(new Company());
// Getting a dynamically created closure
// for the method otherwise, return NULL
// in case of an error.
var_dump($B);
?>
輸出:
object(Closure)#3 (2) { ["this"]=> object(Company)#2 (0) { } ["parameter"]=> array(1) { ["$name"]=> string(10) "<required>" } }
程序_2:
<?php
// Initializing some user-defined classes
class Department1 {
protected function HR($name) {
return 'hr' . $name;
}
}
class Department2 {
protected function Coding($name) {
return 'coding' . $name;
}
}
class Department3 {
protected 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 getClosure() function and
// Getting a dynamically created closure
// for the method otherwise, return NULL
// in case of an error.
var_dump($A->getClosure(new Department1()));
var_dump($B->getClosure(new Department2()));
var_dump($C->getClosure(new Department3()));
?>
輸出:
object(Closure)#5 (2) { ["this"]=> object(Department1)#4 (0) { } ["parameter"]=> array(1) { ["$name"]=> string(10) "<required>" } } object(Closure)#4 (2) { ["this"]=> object(Department2)#5 (0) { } ["parameter"]=> array(1) { ["$name"]=> string(10) "<required>" } } object(Closure)#5 (2) { ["this"]=> object(Department3)#4 (0) { } ["parameter"]=> array(1) { ["$name"]=> string(10) "<required>" } }
參考: https://www.php.net/manual/en/reflectionmethod.getclosure.php
相關用法
- PHP ReflectionMethod getPrototype()用法及代碼示例
- PHP ReflectionMethod isConstructor()用法及代碼示例
- PHP ReflectionMethod isDestructor()用法及代碼示例
- PHP ReflectionMethod invoke()用法及代碼示例
- PHP ReflectionMethod isStatic()用法及代碼示例
- PHP ReflectionMethod isPublic()用法及代碼示例
- PHP ReflectionMethod __toString()用法及代碼示例
- PHP ReflectionMethod isFinal()用法及代碼示例
- PHP ReflectionMethod getModifiers()用法及代碼示例
- PHP ReflectionMethod isAbstract()用法及代碼示例
- PHP ReflectionMethod isPrivate()用法及代碼示例
- PHP ReflectionMethod export()用法及代碼示例
- PHP ReflectionMethod getDeclaringClass()用法及代碼示例
- PHP ReflectionMethod isProtected()用法及代碼示例
- PHP ReflectionMethod invokeArgs()用法及代碼示例
注:本文由純淨天空篩選整理自Kanchan_Ray大神的英文原創作品 PHP | ReflectionMethod getClosure() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。