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



