ReflectionGenerator::getTrace

(PHP 7, PHP 8)

ReflectionGenerator::getTrace获取正在执行的生成器的跟踪

描述

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

获取当前正在执行的生成器的跟踪。

参数

options

options 的值可以是以下任何一个标志。

可用选项
选项 描述
DEBUG_BACKTRACE_PROVIDE_OBJECT 默认值。
DEBUG_BACKTRACE_IGNORE_ARGS 不要在堆栈跟踪中包含函数的参数信息。

返回值

返回当前正在执行的生成器的跟踪。

示例

示例 #1 ReflectionGenerator::getTrace() 示例

<?php
function foo() {
yield
1;
}

function
bar()
{
yield from
foo();
}

function
baz()
{
yield from
bar();
}

$gen = baz();
$gen->valid(); // 启动生成器

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

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top