PHP - Manual: ReflectionGenerator::getTrace
2024-12-22
(PHP 7, PHP 8)
ReflectionGenerator::getTrace — Gets the trace of the executing generator
$options
= DEBUG_BACKTRACE_PROVIDE_OBJECT
): arrayGet 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