Php/docs/reflectiongenerator.gettrace

From Get docs

ReflectionGenerator::getTrace

(PHP 7)

ReflectionGenerator::getTraceGets the trace of the executing generator


Description

public ReflectionGenerator::getTrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT ] ) : array

Get the trace of the currently executing generator.


Parameters

options

The value of options can be any of the following flags.

Available options
Option Description
DEBUG_BACKTRACE_PROVIDE_OBJECT Default.
DEBUG_BACKTRACE_IGNORE_ARGS Don't include the argument information for functions in the stack

trace.


Return Values

Returns the trace of the currently executing generator.


Examples

Example #1 ReflectionGenerator::getTrace() example

<?phpfunction foo() {    yield 1;}function bar(){    yield from foo();}function baz(){    yield from bar();}$gen = baz();$gen->valid(); // start the generatorvar_dump((new ReflectionGenerator($gen))->getTrace());

The above example will output something similar to:


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) {
    }
  }
}

See Also