Slim 3获取主机网址

时间:2018-04-30 06:13:18

标签: url slim-3

在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

1 个答案:

答案 0 :(得分:1)

要获取基本网址,您可以从getBaseUrl()课程调用Uri方法。要获取完整的URL,您可以将Uri类标记为字符串。

$uri = $request->getUri();
$baseUrl = $uri->getBaseUrl();
$fullUrl = (string) $uri;

Uri类实现了PSR-7 UriInterface,因此它实现了在__toString()实例被强制转换为字符串时调用的Uri方法。