Artisan::call error: Command "module:make Test" is not defined - Laravel 5.1

Artisan::call error: Command "module:make Test" is not defined - Laravel 5.1

我正在尝试从代码中调用 artisan 命令。我要执行的命令是pingpong包中的命令,如下:

 php artisan module:make Test

我正在使用以下代码执行此操作:

Artisan::call('module:make Test');

我收到的错误是:未定义命令 "module:make Test"。 虽然这当然是一个很好的命令。

参数可以用数组给出,如:

Artisan::call('module:make', [
     'Test'
]);

但我猜这些参数仅用于标志。因为这个命令什么都不做。没有错误。它只是 returns 0.

这里问了同样的问题: https://github.com/pingpong-labs/modules/issues/202

看起来参数的名称只是name,所以你应该可以这样调用它:

Artisan::call('module:make', [
     'name' => 'Test'
]);

来源:https://github.com/pingpong-labs/modules/blob/master/Commands/MakeCommand.php, http://laravel.com/docs/5.1/artisan#calling-commands-via-code

要使用 pingpong 包创建新模块,请使用:

Artisan::call('module:make', array(
    'name' => array('Test'),
));

不要忘记将代码放在路线内而不是外面,就像我一样。