<?php require_once __DIR__."/../vendor/autoload.php"; use NoccyLabs\Shell\Shell; use NoccyLabs\Shell\Command; use NoccyLabs\Shell\Context; class MyContext extends Context { /** * @command testme * @args * @help Useful test! */ public function test() { } } class MyShell extends Shell { protected $seq = 0; protected function configure() { $context = new MyContext(); $this->pushContext($context); $this->updatePrompt(); $this->addTimer(5000, function () { echo "5 seconds\n"; }); } protected function updatePrompt() { $this->setPrompt("test[{$this->seq}]: "); } protected function onCommand($buffer) { $this->seq++; $this->updatePrompt(); parent::onCommand($buffer); } } $myShell = new MyShell(); $myShell->run(); echo "Exiting\n";