Seamos realistas, la salida debug_backtrace()
no es muy bonita. ¿Alguien ha codificado una envoltura?¿Hay un volcado de pila Pretty Print?
Y ¿cuál es tu favorita bastante var_dump()
(que se puede utilizar en proyectos comerciales, por lo que no GPL (aunque LGPL está bien))
Ver también: A more pretty/informative Var_dump alternative in PHP?
seis años - y diez mil puntos de vista de esta pregunta - más tarde, y todavía estoy usando esto. No es bonita de una manera que se vea bien en la pantalla, como Kint (que es excelente).
Es texto sin formato, que puedo enviarme por correo electrónico en informes de error automatizados y puede mostrarse en la consola del desarrollador del navegador usando ChromePhp.
/**
* @brief Returns an HTML formatted string showing details of the backtrace
*
* Example:
*
* F:\Dropbox\programs\Xampp\htdocs\api\q.php:48 e(373, 'beer', 'curry')
* F:\Dropbox\programs\Xampp\htdocs\api\q.php:53 d(26366, 28255, 8364)
* F:\Dropbox\programs\Xampp\htdocs\api\q.php:58 c()
* F:\Dropbox\programs\Xampp\htdocs\api\q.php:63 b(1283, 15488, 29369)
* F:\Dropbox\programs\Xampp\htdocs\api\q.php:72 a(788, 6077, 25010)
*/
function FormatBacktrace()
{
$result = '<h4>Backtrace</h4>';
foreach (debug_backtrace() as $trace)
{
if ($trace['function'] ==__FUNCTION__)
continue;
$parameters = '';
foreach ($trace['args'] as $parameter)
$parameters .= $parameter . ', ';
if (substr($parameters, -2) == ', ')
$parameters = substr($parameters, 0, -2);
if (array_key_exists('class', $trace))
$result .= sprintf("%s:%s %s::%s(%s)<br>",
$trace['file'],
$trace['line'],
$trace['class'],
$trace['function'],
$parameters);
else
$result .= sprintf("%s:%s %s(%s)<br>",
$trace['file'],
$trace['line'],
$trace['function'],
$parameters);
}
return $result;
}
No edite respuestas como su propia solución en el campo "pregunta"; preferimos mantener las dos partes de la página estrictamente separadas. En cambio, se le anima [a que responda su propia pregunta] (http://stackoverflow.com/help/self-answer) si tiene información más allá de las respuestas actualmente enumeradas. – IMSoP