(PHP 7)
ReflectionGenerator::getTrace — Получить трассировку запущенного генератора
$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) { } } }