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