Spiff this up a bit:

* output data returned by the eval; prints strings and numbers directly, var_dump()s arrays and objects
* if no returned data, print a line break. This makes things easier when doing 'echo' and you forget to add one yourself.
* Add some documentation comments
This commit is contained in:
Brion Vibber 2004-11-15 00:15:58 +00:00
parent f4d90ddc4b
commit db6c4af271

View file

@ -1,6 +1,17 @@
<?php
/**
* @todo document
* PHP lacks an interactive mode, but this can be very helpful when debugging.
* This script lets a command-line user start up the wiki engine and then poke
* about by issuing PHP commands directly.
*
* Unlike eg Python, you need to use a 'return' statement explicitly for the
* interactive shell to print out the value of the expression. Multiple lines
* are evaluated separately, so blocks need to be input without a line break.
* Fatal errors such as use of undeclared functions can kill the shell.
*
* To get decent line editing behavior, you should compile PHP with support
* for GNU readline (pass --with-readline to configure).
*
* @package MediaWiki
* @subpackage Maintenance
*/
@ -10,13 +21,17 @@ require_once( "commandLine.inc" );
do {
$line = readconsole( "> " );
eval( $line . ";" );
$val = eval( $line . ";" );
if( is_null( $val ) ) {
echo "\n";
} elseif( is_string( $val ) || is_numeric( $val ) ) {
echo "$val\n";
} else {
var_dump( $val );
}
if ( function_exists( "readline_add_history" ) ) {
readline_add_history( $line );
}
} while ( 1 );
?>