Spaces:
No application file
No application file
| $formatArgs = function ($args) use (&$formatArgs) { | |
| $result = []; | |
| foreach ($args as $key => $item) { | |
| if (is_array($item) && isset($item[0]) && is_string($item[0]) && 2 === count($item)) { | |
| if ('object' === $item[0]) { | |
| $parts = explode('\\', $item[1]); | |
| $short = array_pop($parts); | |
| $formattedValue = sprintf('<em>object</em>(<abbr title="%s">%s</abbr>)', $item[1], $short); | |
| } elseif ('array' === $item[0]) { | |
| $formattedValue = sprintf('<em>array</em>(%s)', is_array($item[1]) ? $formatArgs($item[1]) : $item[1]); | |
| } elseif ('string' === $item[0]) { | |
| $formattedValue = sprintf("'%s'", htmlspecialchars($item[1])); | |
| } elseif ('null' === $item[0]) { | |
| $formattedValue = '<em>null</em>'; | |
| } elseif ('boolean' === $item[0]) { | |
| $formattedValue = '<em>'.strtolower(var_export($item[1], true)).'</em>'; | |
| } elseif ('resource' === $item[0]) { | |
| $formattedValue = '<em>resource</em>'; | |
| } else { | |
| $formattedValue = str_replace("\n", '', var_export(htmlspecialchars((string) $item[1]), true)); | |
| } | |
| } elseif (is_object($item)) { | |
| $formattedValue = get_class($item); | |
| } elseif (is_string($item)) { | |
| $formattedValue = '<em>'.htmlspecialchars($item).'</em>'; | |
| } elseif (is_array($item)) { | |
| $formattedValue = sprintf('<em>array</em>(%s)', $formatArgs($item)); | |
| } else { | |
| $formattedValue = ''; | |
| } | |
| $result[] = is_int($key) ? $formattedValue : sprintf("'%s' => %s", $key, $formattedValue); | |
| } | |
| return implode(', ', $result); | |
| }; | |
| echo "<ol>\n"; | |
| $root = realpath(__DIR__.'/../../../../../'); | |
| foreach ($traces as $trace) { | |
| echo '<li class="pt-3 break-word">'; | |
| if (isset($trace['file'])) { | |
| $trace['file'] = str_replace($root, '', $trace['file']); | |
| echo "<strong>{$trace['file']}"; | |
| if ($trace['line']) { | |
| echo ':'.$trace['line']; | |
| } | |
| echo '</strong> at '; | |
| } | |
| if (!empty($trace['function'])) { | |
| if (isset($trace['class'])) { | |
| echo "{$trace['class']} {$trace['type']} "; | |
| } | |
| echo " {$trace['function']} ( "; | |
| if (!empty($trace['args'])) { | |
| echo $formatArgs($trace['args']); | |
| } | |
| echo ' )'; | |
| } | |
| echo '</li>'; | |
| } | |
| echo "</ol>\n"; | |