У меня есть код, который можно вызвать либо с веб-сервера, либо из Tinker / рабочего / скрипта. Код должен определить, вызывается ли он с веб-сервера или нет.
Сначала я думал, что request () будет нулевым, если нет запроса, но это неправда. Затем я подумал, что запрос getHost или запрос getURI вернет null, если запроса нет, но это тоже неверно.
Есть ли элегантный способ определить, выполняется ли код в ответ на запрос? Я мог бы использовать промежуточное ПО, но это тоже кажется излишне сложным.
Лучшее решение, которое я мог придумать, - это проверить, содержит ли заголовок $ request-> ('User-Agent') "Symfony". Это кажется довольно хакерским.
Идеально! Дайте ему ответ, и я помечу его как ответ.






Вы можете использовать app()->runningInConsole(), чтобы проверить, был ли запрос получен через веб-сервер или через консоль.
Большой! «app () -> runningInConsole ()» возвращает true для тестов, скриптов и мастеров.
app()->runningInConsole()может быть то, что вам нужно