繁体   English   中英

在Laravel控制器中运行自定义工匠命令

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM