PHP | Función ReflectionMethod getClosure()

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);
?>
Producción: 

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()));
?>
Producción: 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *