在自定义Laravel命令的句柄中,您可以再次调用该命令吗?像这样,使用伪代码描述:
public function handle() {
code..
code..
$this->importantValue = $this->option('value'); //value is 'hello'
if(something) {
//call of the same command is made, but with different arguments or options
//command does stuff and ends successfully
$this->call('myself' [
'value' => 'ahoy'
];
//I expect the handle to be returned to the original command
}
var_dump($this->importantValue); //this equals 'ahoy'
}
这是为什么?这个新命令的命令与它被调用的原始命令有什么共同之处?
编辑:新调用的命令不会再次达到something
它不会自动调用的条件。原始命令似乎从它离开的地方开始(在称自己为第一次也是唯一一次之前),但它似乎已经继承了“儿童”变量。
答案 0 :(得分:0)
是的,您可以Programmatically Executing Commands使用Artisan::call
Artisan::call('myself', [
'value' => 'ahoy'
]);