PHP - Manual: ReflectionGenerator::getTrace
2025-10-24
(PHP 7, PHP 8)
ReflectionGenerator::getTrace — Gets the trace of the executing generator
Get the trace of the currently executing generator.
options
The value of options can be any of
the following flags.
| Option | Description |
|---|---|
DEBUG_BACKTRACE_PROVIDE_OBJECT
|
Default. |
DEBUG_BACKTRACE_IGNORE_ARGS
|
Don't include the argument information for functions in the stack trace. |
Returns the trace of the currently executing generator.
示例 #1 ReflectionGenerator::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) {
}
}
}
官方地址:https://www.php.net/manual/en/reflectiongenerator.gettrace.php