ReflectionGenerator::getTrace()
版本:php7
(PHP 7)
Gets the trace of the executing generator
说明
public ReflectionGenerator::getTrace([int $options= DEBUG_BACKTRACE_PROVIDE_OBJECT] ): array
Get the trace of the currently executing generator.
参数
- $options
The value of$optionscan be any of the following flags.
Available options Option Description DEBUG_BACKTRACE_PROVIDE_OBJECTDefault. DEBUG_BACKTRACE_IGNORE_ARGSDon't include the argument information for functions in the stack trace.
返回值
Returns the trace of the currently executing generator.
范例
Example #1ReflectionGenerator::getTrace()example
<?php
function foo() {
yield 1;
}
function bar()
{
yield from foo();
}
function baz()
{
yield from bar();
}
$gen = baz();
$gen->valid(); // start the generator
var_dump((new ReflectionGenerator($gen))->getTrace());以上例程的输出类似于:
array(2) {
[0]=>
array(4) {
["file"]=>
string(18) "example.php"
["line"]=>
int(8)
["function"]=>
string(3) "foo"
["args"]=>
array(0) {
}
}
[1]=>
array(4) {
["file"]=>
string(18) "example.php"
["line"]=>
int(12)
["function"]=>
string(3) "bar"
["args"]=>
array(0) {
}
}
}
参见
- ReflectionGenerator::getFunction() Gets the function name of the generator
- ReflectionGenerator::getThis() Gets the $this value of the generator
