Laravel Artisan 命令行:命令里互相调用 2 个改进

问题

能否在一个 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'
]);

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!