private static function highlightSource($fileName, $lineNumber, $showLines = 5)
{
$offset = max(0, $lineNumber - ceil($showLines / 2));
$lines = file_get_contents($fileName);
$lines = highlight_string($lines, true);
$lines = array_slice(explode('<br />', $lines), $offset, $showLines);
$count = count($lines);
for ($i = $count; $i < $showLines; $i++) {
array_push($lines, ' ');
}
$trace = null;
foreach ($lines as $line) {
$offset++;
$trace .= '<div' . ($offset == $lineNumber ? ' class="highlight"' : '') . '><span class="number">' . sprintf('%4d', $offset) . '</span>' . $line . '</div>';
}
return $trace;
}