Slim 3 获取主机 url
Slim 3 get host url
在 Slim 3 中,此命令...
print_r($request->getUri() );
Returns 这个列表...
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
要获取基数 URL,您可以从 Uri
class 调用 getBaseUrl()
方法。要获得完整的 url,您可以将 Uri
class 类型转换为字符串。
$uri = $request->getUri();
$baseUrl = $uri->getBaseUrl();
$fullUrl = (string) $uri;
Uri
class 实现了 PSR-7 UriInterface
因此它实现了 __toString()
方法,当 Uri
实例被类型转换为字符串时调用该方法。
在 Slim 3 中,此命令...
print_r($request->getUri() );
Returns 这个列表...
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
要获取基数 URL,您可以从 Uri
class 调用 getBaseUrl()
方法。要获得完整的 url,您可以将 Uri
class 类型转换为字符串。
$uri = $request->getUri();
$baseUrl = $uri->getBaseUrl();
$fullUrl = (string) $uri;
Uri
class 实现了 PSR-7 UriInterface
因此它实现了 __toString()
方法,当 Uri
实例被类型转换为字符串时调用该方法。