我正在尝试从代码调用工匠命令。我要执行的命令是乒乓包中的命令,如下所示:
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'),
));
别忘了把代码放在路由里面而不是外面,像我一样