我有以下自定义命令:
php artisan down --message="this is my custom message."
现在,我想在控制器中的输入字段中使用此命令。
我知道我可以使用Call
之类的Artisan::call('down');
方法,但是我的问题是如何在该调用方法中添加--message=""
部分?
这是我当前发送给控制器的内容:
array:3 [▼
"_token" => "wqHyTNmDhArtonB0gwhIbCipSsStv0WnoASQm34u"
"maintenance_message" => "this is my custom message."
"maintenance" => "active"
]
现在基于maintenance
的值,我将调用Artisan::call('up');
或Artisan::call('down');
,但问题是如何将maintenance_message
添加到其中? < / p>
这是我当前的功能。
public function MaintenanceMode(Request $request){
if($request->input('maintenance') == 'active'){
//maintenance_message
Session::flash('danger', 'Site is successfully in maintenance mode.');
return Artisan::call('down');
}else{
//maintenance_message
Session::flash('success', 'Site is ONLINE.');
return Artisan::call('up');
}
}
有什么主意吗?
答案 0 :(得分:2)
文档中有一些示例:
https://laravel.com/docs/5.7/artisan#programmatically-executing-commands
call方法接受命令名称或类作为第一个参数,并将命令参数数组作为第二个参数。退出代码将返回:
Route::get('/foo', function () { $exitCode = Artisan::call('email:send', [ 'user' => 1, '--queue' => 'default' ]); // });
答案 1 :(得分:0)
这是我将消息部分添加到工匠命令中的操作
return Artisan::call('down', ['--message' => $request->input('maintenance_message')]);
希望它可以帮助别人。