PHP | ReflectionGenerator getFunction() Function

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



