Habari\Utils::firebacktrace PHP Méthode

firebacktrace() public static méthode

Utils::firebacktrace()
public static firebacktrace ( array $backtrace ) : string
$backtrace array An array of backtrace details from debug_backtrace()
Résultat string Javascript output that will display the backtrace in the Firebug console.
    public static function firebacktrace($backtrace)
    {
        $output = '';
        extract(end($backtrace));
        if (isset($class)) {
            $fname = $class . $type . $function;
        } else {
            $fname = $function;
        }
        if (!isset($file) || $file == '') {
            $file = '[Internal PHP]';
        } else {
            $file = basename($file);
        }
        $output .= "console.group(\"%s(%s):  %s(…)\", \"" . basename($file) . "\", \"{$line}\", \"{$fname}\");\n";
        foreach ($backtrace as $trace) {
            $file = $line = $class = $type = $function = '';
            $args = array();
            extract($trace);
            if (isset($class)) {
                $fname = $class . $type . $function;
            } else {
                $fname = $function;
            }
            if (!isset($file) || $file == '') {
                $file = '[Internal PHP]';
            } else {
                $file = basename($file);
            }
            $output .= "console.group(\"%s(%s):  %s(%s)\", \"{$file}\", \"{$line}\", \"{$fname}\", \"";
            $output2 = $comma = $argtypes = '';
            foreach ((array) $args as $arg) {
                $argout = str_replace("\n", '\\n', addslashes(print_r($arg, 1)));
                $argtypes .= $comma . gettype($arg);
                $output2 .= "console.log(\"{$argout}\");\n";
                $comma = ', ';
            }
            $argtypes = trim($argtypes);
            $output .= "{$argtypes}\");\n{$output2}";
            $output .= "console.groupEnd();\n";
            //$output .= ");</td></tr>";
        }
        return $output;
    }