Open In App

PHP | ReflectionGenerator getFunction() Function

Improve
Improve
Like Article
Like
Save
Share
Report

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



Last Updated : 17 Dec, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads