32 lines
		
	
	
		
			605 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			605 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\cli;
 | |
| 
 | |
| use nur\func;
 | |
| 
 | |
| class DynamicCommandMethod implements IDynamicCommand {
 | |
|   function __construct($func) {
 | |
|     $this->func = $func;
 | |
|   }
 | |
| 
 | |
|   /** @var object */
 | |
|   private $dest;
 | |
| 
 | |
|   function setDest($dest): void {
 | |
|     if (!is_object($dest)) $dest = null;
 | |
|     $this->dest = $dest;
 | |
|   }
 | |
| 
 | |
|   function getCommands(): ?array {
 | |
|     return null;
 | |
|   }
 | |
| 
 | |
|   private $func;
 | |
| 
 | |
|   function getCommandDefs(string $command, bool $virtual): ?array {
 | |
|     $func = $this->func;
 | |
|     $func_args = [$command];
 | |
|     func::check_func($func, $this->dest, $func_args);
 | |
|     return func::call($func, ...$func_args);
 | |
|   }
 | |
| }
 |