32 lines
		
	
	
		
			822 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			822 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/*
 | 
						|
 *  This example demonstrates how to use events to catch commands that
 | 
						|
 *  have not been handled by any context or builtin.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
require_once __DIR__."/../vendor/autoload.php";
 | 
						|
 | 
						|
use NoccyLabs\Shell\Shell;
 | 
						|
use NoccyLabs\Shell\Style;
 | 
						|
use NoccyLabs\Shell\Context;
 | 
						|
 | 
						|
$myShell = new Shell();
 | 
						|
 | 
						|
// Set the initial prompt, not really needed.
 | 
						|
$myShell->setPrompt("test>");
 | 
						|
 | 
						|
// Create an anonymous context and add a command
 | 
						|
$ctx = $myShell->createContext("root");
 | 
						|
$ctx->addCommand("hello", function () use ($myShell) {
 | 
						|
    $myShell->getInput("What is your name?", function ($name) use ($myShell) {
 | 
						|
        echo "Hello, {$name}\n";
 | 
						|
        $myShell->getInput("Who is your daddy and what does he do?", function ($daddy) {
 | 
						|
            echo "{$daddy}? Oookay...\n";
 | 
						|
        });
 | 
						|
    });
 | 
						|
});
 | 
						|
 | 
						|
// Run the shell
 | 
						|
$myShell->run();
 |