La función ReflectionMethod::getClosure() es una función incorporada en PHP que se usa para devolver un cierre creado dinámicamente para el método; de lo contrario, devuelve NULL en caso de error.
Sintaxis:
Closure ReflectionMethod::getClosure ( $object )
Parámetros: esta función acepta un objeto de parámetro que es el objeto de clase definido por el usuario especificado.
Valor de retorno: esta función devuelve un cierre creado dinámicamente para el método; de lo contrario, devuelve NULL en caso de error.
Los siguientes programas ilustran la función ReflectionMethod::getClosure() en PHP:
Programa_1:
PHP
<?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>" } }
Programa_2:
PHP
<?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>" } }
Referencia: https://www.php.net/manual/en/reflectionmethod.getclosure.php
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA