<?php
function mockInputRead()
{
static $commands = [
'open foo',
'close bar',
'dance with the devil in the pale moonlight',
'exit',
];
return array_shift($commands);
}
function vprintfln($format, array $args = [])
{
vprintf($format . PHP_EOL, $args);
}
$handlers = [
'open' => function ($target) {
vprintfln('Opening "%s"', [$target]);
return 0;
},
'close' => function ($target) {
vprintfln('Closing "%s"', [$target]);
return 0;
},
'exit' => function () {
vprintfln('Exiting...');
return 1;
},
];
$invalidHandler = function ($command) {
vprintfln('## Invalid command "%s"', [$command]);
};
while (true)
{
list($command, $argument) = explode(' ', mockInputRead(), 1) + [null, null];
if (!empty($command))
{
if (isset($handlers[$command]))
{
if ($handlers[$command]($argument) > 0)
{
break;
}
}
else
{
$invalidHandler($command);
}
}
}
vprintfln('Bye!');
- Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- ## Invalid command "open foo"
## Invalid command "close bar"
## Invalid command "dance with the devil in the pale moonlight"
Exiting...
Bye!
- Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
- Parse error: syntax error, unexpected '[' in /in/Fb6F6 on line 6
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
- Parse error: parse error, unexpected '[' in /in/Fb6F6 on line 6
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/Fb6F6 on line 6
Process exited with code 255.
preferences:
330.75 ms | 401 KiB | 456 Q