array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'reflectiongenerator.getexecutinggenerator.php', 1 => 'ReflectionGenerator::getExecutingGenerator', ), 'up' => array ( 0 => 'class.reflectiongenerator.php', 1 => 'ReflectionGenerator', ), 'prev' => array ( 0 => 'reflectiongenerator.getexecutingfile.php', 1 => 'ReflectionGenerator::getExecutingFile', ), 'next' => array ( 0 => 'reflectiongenerator.getexecutingline.php', 1 => 'ReflectionGenerator::getExecutingLine', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/reflection/reflectiongenerator/getexecutinggenerator.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7, PHP 8)
ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object
Get the executing Generator object
此函数没有参数。
Returns the currently executing Generator object.
示例 #1 ReflectionGenerator::getExecutingGenerator() example
<?php
class GenExample
{
public function gen()
{
yield 1;
}
}
$gen = (new GenExample)->gen();
$reflectionGen = new ReflectionGenerator($gen);
$gen2 = $reflectionGen->getExecutingGenerator();
var_dump($gen2 === $gen);
var_dump($gen2->current());
以上示例的输出类似于:
bool(true) int(1);