The ReflectionGenerator::getFunction() function is an inbuilt function in PHP which is used to return the function name of the specified generator.
Syntax:
ReflectionFunctionAbstract ReflectionGenerator::getFunction ( void )
Parameters: This function does not accept any parameter.
Return Value: This function returns the function name of the specified generator.
Below programs illustrate the ReflectionGenerator::getFunction() function in PHP:
Program_1:
<?php // Initializing a user-defined class Company class Company { public function GFG() { yield 0; } } // Creating a generator 'A' on the above // class Company $A = ( new Company)->GFG(); // Using ReflectionGenerator over the // above generator 'A' $B = new ReflectionGenerator( $A ); // Calling the getFunction() function $C = $B ->getFunction(); // Getting the function name of the // specified generator 'A' var_dump( $C ); ?> |
Output:
object(ReflectionMethod)#4 (2) { ["name"]=> string(3) "GFG" ["class"]=> string(7) "Company" }
Program_2:
<?php // Initializing a user-defined class Departments class Departments { public function Coding_Department() { yield 0; } public function HR_Department() { yield 1; } public function Marketing_Department() { yield 2; } } // Creating some generators on the above // class Departments $A = ( new Departments)->Coding_Department(); $B = ( new Departments)->HR_Department(); $C = ( new Departments)->Marketing_Department(); // Using ReflectionGenerator over the // above generators $D = new ReflectionGenerator( $A ); $E = new ReflectionGenerator( $B ); $F = new ReflectionGenerator( $C ); // Calling the getFunction() function // and getting the function name of the // specified generators var_dump( $D ->getFunction()); echo "\n" ; var_dump( $E ->getFunction()); echo "\n" ; var_dump( $F ->getFunction()); ?> |
Output:
object(ReflectionMethod)#10 (2) { ["name"]=> string(17) "Coding_Department" ["class"]=> string(11) "Departments" } object(ReflectionMethod)#10 (2) { ["name"]=> string(13) "HR_Department" ["class"]=> string(11) "Departments" } object(ReflectionMethod)#10 (2) { ["name"]=> string(20) "Marketing_Department" ["class"]=> string(11) "Departments" }
Reference: https://www.php.net/manual/en/reflectiongenerator.getfunction.php