Вход Регистрация
Файл: framework/dev/CliDebugView.php
Строк: 105
<?php
/**
 * A basic HTML wrapper for stylish rendering of a developement info view.
 * Used to output error messages, and test results.
 *
 * @package framework
 * @subpackage dev
 *
 * @todo Perhaps DebugView should be an interface / ABC, implemented by HTMLDebugView and CliDebugView?
 */

class CliDebugView extends DebugView {

    
/**
     * Render HTML header for development views
     */
    
public function writeHeader($httpRequest null) {
    }

    
/**
     * Render HTML footer for development views
     */
    
public function writeFooter() {
    }

    
/**
     * Write information about the error to the screen
     */
    
public function writeError($httpRequest$errno$errstr$errfile$errline$errcontext) {
        
$errorType self::$error_types[$errno];
        echo 
SS_Cli::text("ERROR [" $errorType['title'] . "]: $errstrnIN $httpRequestn""red"nulltrue);
        echo 
SS_Cli::text("Line $errline in $errfilenn""red");
    }

    
/**
     * Write a fragment of the a source file
     * @param $lines An array of file lines; the keys should be the original line numbers
     */
    
public function writeSourceFragment($lines$errline) {
        echo 
"Sourcen======n";
        foreach(
$lines as $offset => $line) {
            echo (
$offset == $errline) ? "* " "  ";
            echo 
str_pad("$offset:",5);
            echo 
wordwrap($lineself::config()->columns"n       ");
        }
        echo 
"n";
    }

    
/**
     * Write a backtrace
     */
    
public function writeTrace($trace null) {
        echo 
"Tracen=====n";
        echo 
SS_Backtrace::get_rendered_backtrace($trace $trace debug_backtrace(), true);
    }

    
/**
     * Render the information header for the view
     *
     * @param string $title
     * @param string $title
     */
    
public function writeInfo($title$subtitle$description=false) {
        echo 
wordwrap(strtoupper($title),self::config()->columns) . "n";
        echo 
wordwrap($subtitle,self::config()->columns) . "n";
        echo 
str_repeat('-',min(self::config()->columns,max(strlen($title),strlen($subtitle)))) . "n";
        echo 
wordwrap($description,self::config()->columns) . "nn";
    }

    public function 
writeVariable($val$caller) {
        echo 
PHP_EOL;
        echo 
SS_Cli::text(str_repeat('='self::config()->columns), 'green');
        echo 
PHP_EOL;
        echo 
SS_Cli::text($this->formatCaller($caller), 'blue'nulltrue);
        echo 
PHP_EOL.PHP_EOL;
        if (
is_string($val)) {
            
print_r(wordwrap($valself::config()->columns));
        } else {
            
print_r($val);
        }
        echo 
PHP_EOL;
        echo 
SS_Cli::text(str_repeat('='self::config()->columns), 'green');
        echo 
PHP_EOL;
    }
}
Онлайн: 0
Реклама