nur-sery/wip/cli/DynamicCommandMethod.php

32 lines
635 B
PHP

<?php
namespace nur\sery\wip\cli;
use nur\sery\php\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];
nur_func::check_func($func, $this->dest, $func_args);
return nur_func::call($func, ...$func_args);
}
}