Laravel Artisan 命令行:命令里互相调用
问题
能否在一个 Artisan 命令中调用另一个 Artisan 命令?
回答
在一个 Artisan 命令中调用其它 Artisan 命令。与在其它代码中调用命令类似,可直接调用命令对象实例的 call
方法即可。call
方法接受命令名和数组形式的选项:
/**
* 执行控制台命令
*
* @return mixed
*/
public function handle()
{
$this->call('email:send', [
'user' => 1, '--queue' => 'default'
]);
//
}
如果要实现调用命令的静默输出,可以使用 callSilent
方法。callSilent
的使用方法同 call
:
$this->callSilent('email:send', [
'user' => 1, '--queue' => 'default'
]);