获取接口的所有 Laravel 个 artisan 命令

Get all Laravel artisan commands for interface

当您在命令行中使用 php artisan 时,您会得到所有命令的列表。是否有机会以编程方式获取所有 Laravel artisan 命令?我需要它,例如在界面的 select 字段中使用它。

使用shell-exec 命令。 http://php.net/manual/en/function.shell-exec.php

$output = shell_exec('php artisan');
echo $output;

您可以像这样将它们放在您的路线中:

Route::get('/foo', function()
{
    $exitCode = Artisan::call('command:name', ['--option' => 'foo']);

//
});

https://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli

如果我对查询的理解正确,您可以使用 CLI(例如 debian 中的 bash)来:

  1. && 用于单独调用 - 每个后续调用都将在上一次性能之后进行,例如:

    php artisan migrate:fresh && php artisan fixtures:up && php artisan db:seed && php artisan serv

  2. 别名输入.bash_profile

    alias migrate = "php artisan migrate"

并在 Laravel 项目中使用命令 migrate

信息:https://gist.github.com/JeffreyWay/5542264

获取所有命令对象:

\Artisan::all()

获取所有命令名称:

array_keys(\Artisan::all())
use Illuminate\Contracts\Console\Kernel;
...
$commands = resolve(Kernel::class)->all();