silverstripe-framework/dev/CliDebugView.php
Sam Minnee db1e79c3b1 FEATURE: Improved debugging view on CLI interface, by having a separate DebugView subclass that takes care of error output for this situation.
API CHANGE: Added Debug::log_errors_to(), to log errors to a file.


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@60368 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-08-11 04:02:32 +00:00

57 lines
1.2 KiB
PHP

<?php
/**
* A basic HTML wrapper for stylish rendering of a developement info view.
* Used to output error messages, and test results.
*
* @package sapphire
* @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) {
}
/**
* 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) {
echo "ERROR: $errstr\nIN $httpRequest\n";
echo "Line $errline in $errfile\n\n";
}
/**
* Write a fragment of the a source file
* @param $lines An array of file lines; the keys should be the original line numbers
*/
function writeSourceFragment($lines, $errline) {
echo "Source\n======\n";
foreach($lines as $offset => $line) {
echo ($offset == $errline) ? "* " : " ";
echo str_pad("$offset:",5);
echo wordwrap($line, 100, "\n ");
}
echo "\n";
}
/**
* Write a backtrace
*/
function writeTrace() {
Debug::backtrace();
}
}
?>