在Laravel中,如何确定是否正在处理请求?

问题描述 投票:1回答:1

我有一些代码可以从Web服务器或Tinker / worker / a脚本调用。代码需要确定是否从Web服务器调用。

我最初认为当没有请求时request()将为null,但事实并非如此。接下来我认为请求getHost或请求getURI如果没有请求将返回null,但这也不是真的。

是否有一种优雅的方法来确定代码是否正在响应请求而运行?我可以使用中间件,但这似乎也不必要地复杂化。

我能想出的最佳解决方案是检查$ request-> header('User-Agent')是否包含“Symfony”。这看起来很不好看。

laravel laravel-5.4 laravel-5.5 laravel-5.6
1个回答
2
投票

您可以使用app()->runningInConsole()检查是通过Web服务器还是通过控制台收到请求。

© www.soinside.com 2019 - 2024. All rights reserved.