我正在尝试使用 Laravel 5 从 HTTP 请求中获取主机名,包括子域(例如,dev.site.com
)。我在其中找不到任何关于此的信息the docs https://laravel.com/docs/5.3/requests#request-path-and-method,但我认为这应该很简单。有人知道怎么做吗?
好消息!事实证明这实际上非常简单,尽管 Laravel 的 Request 文档有点缺乏(我想要的方法是继承自交响乐的Request class https://api.symfony.com/2.7/Symfony/Component/HttpFoundation/Request.html)。如果您在控制器方法中,则可以注入请求对象,该对象具有getHttpHost
方法。这正是我所寻找的:
public function anyMyRoute(Request $request) {
$host = $request->getHttpHost(); // returns dev.site.com
}
从代码中的其他任何位置,您仍然可以使用以下方法访问请求对象request辅助函数 https://laravel.com/docs/5.3/helpers#method-request,所以这看起来像:
$host = request()->getHttpHost(); // returns dev.site.com
如果你想包含 URL 的 http/https 部分,你可以使用getSchemeAndHttpHost
方法改为:
$host = $request->getSchemeAndHttpHost(); // returns https://dev.site.com
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)