Получить подробную информацию о вызове функции - PullRequest
0 голосов
/ 15 февраля 2010

В PHP я хотел бы получить подробную информацию о вызове функции внутри самой функции. Поведение, которое я хочу (без этого) - передать debug_backtrace() в качестве аргумента функции.

Я хочу, чтобы это делалось автоматически при каждом вызове функции.

Мне это нужно, чтобы у меня могли быть заранее определенные ошибки для довольно значительного проекта, над которым я работаю, но я, очевидно, хочу номер строки центрального trigger_error() вызова, поскольку это не очень полезно для отслеживания проблемы , Я также не хочу рассчитывать на то, что будущие разработчики запомнят аргумент debug_backtrace().

1 Ответ

2 голосов
/ 15 февраля 2010

Вы понимаете, что можете позвонить debug_backtrace() самостоятельно, и это было бы почти так же. Например:

function error(..params)
{
    $backtrace = debug_backtrace();
    array_shift($backtrace);
}

Если вы array_shift задали обратную трассировку, если будет, как если бы она была передана в функцию.

Если вы не знакомы с этим:

array_shift () сдвигает первое значение массива и возвращает его, сокращая массив на один элемент и перемещая все вниз.

Таким образом, так как debug_backtrace () численно проиндексирован, он будет действовать точно так же.

...