当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP ReflectionGenerator getExecutingGenerator()用法及代码示例


ReflectionGenerator::getExecutingGenerator()函数是PHP中的内置函数,用于返回当前正在执行的Generator对象。

用法:

Generator ReflectionGenerator::getExecutingGenerator( void )

参数:该函数不接受任何参数。


返回值:此函数返回当前正在执行的Generator对象。

以下示例程序旨在说明PHP中的ReflectionGenerator::getExecutingGenerator()函数:

示例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 getExecutingGenerator() function 
$C = $B->getExecutingGenerator(); 
  
// Getting the currently executing 
// Generator object 
var_dump($C->current()); 
?>

输出:

int(0)

示例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 getExecutingGenerator() function 
// and getting the currently executing 
// Generator object 
var_dump($D->getExecutingGenerator()->current()); 
var_dump($E->getExecutingGenerator()->current()); 
var_dump($F->getExecutingGenerator()->current()); 
?>

输出:

int(0)
int(1)
int(2)

参考: https://www.php.net/manual/en/reflectiongenerator.getexecutinggenerator.php



相关用法


注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 PHP | ReflectionGenerator getExecutingGenerator() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。