调用错误:Command "module:make Test"没有定义- Laravel 5.1


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

我正在尝试从代码调用工匠命令。我要执行的命令是乒乓包中的命令,如下所示:

 php artisan module:make Test

我用下面的代码来做这件事:

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

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

形参可以用如下数组给出:

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

但是我猜这些参数只用于标志。因为该命令没有任何作用。没有错误。它只返回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

使用乒乓包创建一个新模块:

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

别忘了把代码放在路由里面而不是外面,像我一样