[英]Running custom artisan command in laravel controller
我有以下自定义命令:
php artisan down --message="this is my custom message."
现在,我想在输入字段的控制器中使用此命令。
我知道我可以使用Artisan::call('down');
类的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
?
这是我目前的职能。
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');
}
}
任何想法?
该文档提供了一些示例:
https://laravel.com/docs/5.7/artisan#programmatically-executing-commands
call方法接受命令名称或类作为第一个参数,并接受命令参数数组作为第二个参数。 退出代码将返回:
Route::get('/foo', function () { $exitCode = Artisan::call('email:send', [ 'user' => 1, '--queue' => 'default' ]); // });
这是我将消息部分添加到工匠命令中的操作
return Artisan::call('down', ['--message' => $request->input('maintenance_message')]);
希望它能帮助别人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.