drwcli/pattern

v1.0 2020-04-03 16:24 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:27 UTC


README

Drwcli 是由 @walegbenga 创建的一个无需依赖的 PHP CLI 应用程序构建工具包。这个仓库是一个模板,你可以用它来创建一个新的应用程序,该应用程序只有一个依赖项:drwcli/drwcli

为什么选择 drwcli

当前软件开发趋势是建立在众多未知因素之上。使用第三方软件本身并没有错,但如果超过 80% 的应用程序不在你的控制之下,事情可能会变得一团糟。通常情况下,即使在使用最流行的框架时,你也可能不知道自己依赖于哪些包。

它可以用于微服务、个人开发工具、机器人以及一些有趣的小玩意。

入门

您需要 php-cliComposer 来开始。

使用以下命令创建一个新项目:

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

由 Drwcli 创建