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();
							 |