• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ReflectionGenerator::getTrace()

    版本:php7

    (PHP 7)

    Gets the trace of the executing generator

    说明

    publicReflectionGenerator::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
    OptionDescription
    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