La función ReflectionMethod::invoke() es una función incorporada en PHP que se utiliza para invocar el método reflejado especificado y devuelve el resultado del método.
Sintaxis:
public mixed ReflectionMethod::invoke ( $object, $parameter )
Parámetros: Esta función acepta dos parámetros que se ilustran a continuación:
- objeto: Este es el objeto de clase inicializado.
- parámetro: Estos son los cero o más parámetros que se pasarán al método.
Valor de retorno: esta función devuelve el resultado del método invocado.
Los siguientes programas ilustran la función ReflectionMethod::invoke() en PHP:
Program_1:
php
<?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; ?>
Producción:
GeeksforGeeks is a Computer Science Portal.
Programa_2:
php
<?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.'); ?>
Producción:
HR is a Department. Coding is also a Department. Marketing too.
Referencia: https://www.php.net/manual/en/reflectionmethod.invoke.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