/** * * Выводит кусок исходных кодов из файла вызвавшего функцию * @param int $fromErrorHandler устанавливайте значение данной переменной, только если она вызывается из промежуточной функции (например перехватчика ошибок) */ function displayCallerCode($fromErrorHandler = 0, $output = true) { // Отображаем блок текста $trace = debug_backtrace(); $caller = $trace[0 + $fromErrorHandler]; $result = ''; if (!isset($caller['file'])) { if (isset($trace[0 + $fromErrorHandler + 1])) { $caller = $trace[0 + $fromErrorHandler + 1]; } } if (isset($caller['file'])) { $result = Debug::getFileSource($caller['file'], $caller['line']); } else { $result = '<hr/> <h2>Empty error source</h2> <hr/>'; } if ($output) { print $result; } return $result; }