DLight\Application\Command
Mô tả: “command registry” cho CLI. Bạn đăng ký command name và handler,
sau đó gọi run($argv) để dispatch theo $argv[1].
Namespace / đăng ký
- Namespace:
DLight\Application - File:
src/Application/Command.php
Public API
$cli->register(string $name, callable|array|string $handler, bool $hiddenOnPhar = false): CommandEntry$cli->registerAlias(string $alias, string $target): CommandEntry$cli->hasCommand(string $name): bool$cli->run(array $argv): void$cli->list(): array
Handler hỗ trợ
- callable: function/closure
- class string: nếu là tên class tồn tại, sẽ
new $handler()rồi gọi như callable ($instance($argv)) - array callable:
[ClassName::class, 'method']hoặc[$object, 'method']
Demo
use DLight\Application\Command;
$cli = new Command();
$cli->register('hello', function(array $argv) {
$name = $argv[2] ?? 'world';
echo "Hello {$name}\n";
});
$cli->registerAlias('hi', 'hello');
$cli->run($argv);