drwcli / pattern
Drwcli 模板
v1.0
2020-04-03 16:24 UTC
Requires
- drwcli/drwcli: ^1.0
This package is auto-updated.
Last update: 2024-09-29 05:49:27 UTC
README
Drwcli 是由 @walegbenga 创建的一个无需依赖的 PHP CLI 应用程序构建工具包。这个仓库是一个模板,你可以用它来创建一个新的应用程序,该应用程序只有一个依赖项:drwcli/drwcli
。
为什么选择 drwcli
当前软件开发趋势是建立在众多未知因素之上。使用第三方软件本身并没有错,但如果超过 80% 的应用程序不在你的控制之下,事情可能会变得一团糟。通常情况下,即使在使用最流行的框架时,你也可能不知道自己依赖于哪些包。
它可以用于微服务、个人开发工具、机器人以及一些有趣的小玩意。
入门
您需要 php-cli
和 Composer 来开始。
使用以下命令创建一个新项目:
composer create-project --prefer-dist drwcli/application myapp
安装完成后,您可以运行 drwcli
并使用以下命令:
cd myapp
./drwcli
这将显示默认的应用签名
usage: ./drwcli help
drwcli 自带的 help
命令(位于 app/Command/Help/DefaultController.php
)会自动生成可用命令的树状结构
./drwcli help
Available Commands
help
└──test
在 app/Command/Help/TestController.php
定义的 help test
命令,显示参数的回显测试
./minicli help test user=gbenga name=value
Hello, gbenga!
Array
(
[user] => gbenga
[name] => value
)
最简单的应用程序
最简单的 drwcli 脚本根本不需要使用 Command Controllers。您可以删除 app
文件夹,并使用匿名函数与 registerCommand
一起使用,如下所示
#!/usr/bin/php
<?php
if (php_sapi_name() !== 'cli') {
exit;
}
require __DIR__ . '/vendor/autoload.php';
use \Drwcli\App;
use \Drwcli\Command\CommandCall;
$app = new App();
$app->setSignature('./drwcli mycommand');
$app->registerCommand('mycommand', function(CommandCall $input) {
echo "My Command!";
var_dump($input);
});
$app->runCommand($argv);