mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
23 lines
632 B
PHP
23 lines
632 B
PHP
|
<?php
|
||
|
|
||
|
class SapphireREPL extends Controller {
|
||
|
function index() {
|
||
|
if(!Director::is_cli()) return "The Sapphire Interactive Command-line doesn't work in a web browser. Use 'sake interactive' from the command-line to run.";
|
||
|
|
||
|
echo "Sapphire Interactive Command-line (REPL interface)\n\n";
|
||
|
while(true) {
|
||
|
echo "?> ";
|
||
|
$command = trim(fgets(STDIN, 4096));
|
||
|
|
||
|
// Simple processing
|
||
|
if(substr($command,-1) == ';') $command = substr($command,0,-1);
|
||
|
if(!preg_match('/^return/i', $command)) $command = "return ($command)";
|
||
|
$command .= ";";
|
||
|
$result = eval($command);
|
||
|
print_r($result);
|
||
|
echo "\n";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
?>
|