ReflectionGenerator::getTrace
(PHP 7)
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) {
}
}
}
Смотрите также
- ReflectionGenerator::getFunction() - Получить имя функции генератора
- ReflectionGenerator::getThis() - Получает значение $this генератора