【发布时间】:2019-04-24 14:04:59
【问题描述】:
我有一些代码可以从网络服务器或 Tinker/worker/脚本调用。该代码需要确定是否正在从网络服务器调用。
我最初认为 request() 在没有请求时会为空,但事实并非如此。接下来我认为如果没有请求,request getHost 或 request getURI 会返回 null,但事实并非如此。
是否有一种优雅的方式来确定代码是否响应请求而运行?我可以使用中间件,但这似乎也不必要地复杂。
我能想到的最佳解决方案是检查 $request->header('User-Agent') 是否包含“Symfony”。这看起来很hacky。
【问题讨论】:
-
app()->runningInConsole()可能是你需要的 -
完美!将其设为答案,我会将其标记为已回答。
标签: laravel laravel-5.4 laravel-5.5 laravel-5.6