如何从 Laravel 命令输出到终端选项及其描述

omi*_*xam 6 php laravel laravel-5 laravel-5.5

从 Laravel 文档中,您可以创建自己的artisan 命令并添加带有描述的参数

{--param=:描述}

例如,如果用户未输入必需的参数,我想显示此参数及其描述,如 $signature 属性中定义的那样。

我怎样才能做到这一点?

Ale*_*nin 9

您可以通过使用-h--help选项调用命令来显示命令可用的所有选项:

php artisan yourcommand -h
Run Code Online (Sandbox Code Playgroud)

要向参数添加描述,请使用以下语法:

protected $signature = 'yourcommand {someargument : Description of option}';
Run Code Online (Sandbox Code Playgroud)

如果您想以编程方式执行此操作,请在命令类中创建一个公共方法:

public function help()
{
    // Display all arguments with descriptions.
    foreach($this->getDefinition()->getArguments() as $name => $description) {
        echo $name . ' - ' . $description->getDescription();
    };

    // Display all options with descriptions.
    foreach($this->getDefinition()->getOptions() as $name => $description) {
        echo $name . ' - ' . $description->getDescription();
    };
}
Run Code Online (Sandbox Code Playgroud)

然后从您的代码中调用它:

app('\App\Console\Commands\YourCommand')->help();
Run Code Online (Sandbox Code Playgroud)