我有一些代码可以从Web服务器或Tinker / worker / a脚本调用。代码需要确定是否从Web服务器调用。
我最初认为当没有请求时request()将为null,但事实并非如此。接下来我认为请求getHost或请求getURI如果没有请求将返回null,但这也不是真的。
是否有一种优雅的方法来确定代码是否正在响应请求而运行?我可以使用中间件,但这似乎也不必要地复杂化。
我能想出的最佳解决方案是检查$ request-> header('User-Agent')是否包含“Symfony”。这看起来很不好看。
您可以使用app()->runningInConsole()
检查是通过Web服务器还是通过控制台收到请求。