首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ReflectionGenerator::getTrace

(PHP 7)

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

描述

代码语言:javascript
复制
public array ReflectionGenerator::getTrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT ] )

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

参数

options

options可以是以下任何标志。

选项

描述

DEBUG_BACKTRACE_PROVIDE_OBJECT

默认。

DEBUG_BACKTRACE_IGNORE_ARGS

不要在堆栈跟踪中包含函数的参数信息。

返回值

返回当前正在执行的生成器的轨迹。

例子

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

代码语言:javascript
复制
<?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());

上面的例子会输出类似于:

代码语言:javascript
复制
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::getThis

Reflector →

扫码关注腾讯云开发者

领取腾讯云代金券