Gets the trace of the executing generator

# ReflectionGenerator::getTrace

(PHP 7, PHP 8)

ReflectionGenerator::getTrace — Gets the trace of the executing generator

### 说明

public function ReflectionGenerator::getTrace(int `$options` = `DEBUG_BACKTRACE_PROVIDE_OBJECT`): array

Get the trace of the currently executing generator.

### 参数

`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.

### 返回值

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

### 参见

- ReflectionGenerator::getFunction() - Gets the function name of the generator
- ReflectionGenerator::getThis() - Gets the $this value of the generator

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open