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:



filter_none

edit
close

play_arrow

link
brightness_4
code

<?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);
?>

chevron_right


Output:

object(ReflectionMethod)#4 (2) {
  ["name"]=>
  string(3) "GFG"
  ["class"]=>
  string(7) "Company"
}

Program_2:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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());
?>

chevron_right


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




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.