代码之家  ›  专栏  ›  技术社区  ›  Loko

获取界面的所有Laravel artisan命令

  •  0
  • Loko  · 技术社区  · 7 年前

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

    5 回复  |  直到 7 年前
        1
  •  1
  •   Hieu Le    7 年前

    要获取所有命令对象:

    \Artisan::all()
    

    要获取所有命令名:

    array_keys(\Artisan::all())
    
        2
  •  1
  •   Quezler    7 年前
    use Illuminate\Contracts\Console\Kernel;
    ...
    $commands = resolve(Kernel::class)->all();
    
        3
  •  0
  •   Bozidar Sikanjic    7 年前

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

    $output = shell_exec('php artisan');
    echo $output;
    
        4
  •  0
  •   Adam Wądołkowski    7 年前

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

    1. && 对于单独的呼叫-每次后续呼叫将在上次执行后进行,例如:

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

    2. 在.bash_配置文件中输入的别名

      alias migrate = "php artisan migrate"

    使用命令 migrate 在拉雷维尔项目。

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

        5
  •  0
  •   Tim Diekmann suresh madaparthi    7 年前

    你可以这样把它们放在你的路线上:

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

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

    推荐文章