Laravel Artisan 命令行:调用外部命令
在Laravel中,你可以使用Artisan命令行工具来调用外部命令。这可以通过使用Illuminate\Support\Facades\Artisan
门面中的call
方法实现。
以下是一个例子,展示了如何在Laravel Artisan命令中调用外部命令:
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;
class ExternalCommandExample extends Command
{
protected $signature = 'external:command';
protected $description = 'Call an external command';
public function handle()
{
// 调用外部命令
$exitCode = Artisan::call('route:cache');
// 如果需要处理命令的输出,可以这样做
$output = Artisan::output();
// 如果需要处理命令的返回值,可以这样做
if ($exitCode === 0) {
// 命令执行成功
$this->info("External command executed successfully.");
} else {
// 命令执行失败
$this->error("External command failed to execute.");
}
}
}
在这个例子中,我们定义了一个名为external:command
的Artisan命令,它调用了Laravel自带的route:cache
命令。你可以替换route:cache
为任何你想要调用的外部命令。调用命令后,我们通过Artisan::output()
获取输出,并根据返回值来判断命令是否成功执行。
评论已关闭