在Slim 3中,这个命令......
print_r($request->getUri() );
返回此列表...
Slim\Http\Uri Object
(
[scheme:protected] => http
[user:protected] =>
[password:protected] =>
[host:protected] => slimtree.test
[port:protected] => 80
[basePath:protected] =>
[path:protected] => /
[query:protected] =>
[fragment:protected] =>
)
够了。
我已经在SO上阅读了每个与Slim URL相关的问题,有些人从未回答过这个问题,但我找不到答案。
获得主机基本路径必须有比这更好的方法......
$hostUrl = $request->getUri()->getScheme() . '://'
. $request->getUri()->getHost()
.($request->getUri()->getPort() ? ':' . $request->getUri()->getPort() : '')
;
要得到这个......
http[s]://myDomain.com
答案 0 :(得分:1)
要获取基本网址,您可以从getBaseUrl()
课程调用Uri
方法。要获取完整的URL,您可以将Uri
类标记为字符串。
$uri = $request->getUri();
$baseUrl = $uri->getBaseUrl();
$fullUrl = (string) $uri;
Uri
类实现了PSR-7 UriInterface
,因此它实现了在__toString()
实例被强制转换为字符串时调用的Uri
方法。