Slim 3 получить URL-адрес хоста - PullRequest
0 голосов
/ 30 апреля 2018

В 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] => 
)

Достаточно хорошо.

Я прочитал каждый вопрос, связанный с Slim URL на SO, некоторые никогда не отвечали на вопрос, но я не могу найти ответ.

Должен быть лучший способ получить базовый путь к хосту, чем этот ...

 $hostUrl = $request->getUri()->getScheme() . '://'
          . $request->getUri()->getHost()
          .($request->getUri()->getPort() ? ':' . $request->getUri()->getPort() : '')
 ;

Чтобы получить это ...

http[s]://myDomain.com

1 Ответ

0 голосов
/ 01 мая 2018

Чтобы получить базовый URL, вы можете вызвать метод getBaseUrl() из Uri класса. Чтобы получить полный URL, вы можете набрать Uri class в виде строки.

$uri = $request->getUri();
$baseUrl = $uri->getBaseUrl();
$fullUrl = (string) $uri;
Класс

Uri реализует PSR-7 UriInterface, поэтому он реализует метод __toString(), который вызывается, когда экземпляр Uri преобразуется по типу в строку.

...