it-roy-ru.com

Получение базового URL в Yii 2

Я пытаюсь получить базовый URL для проекта в Yii 2, но, похоже, он не работает. Согласно этой странице вы раньше могли делать:

Yii::app()->getBaseUrl(true);

В Yii 1, но кажется, что этот метод в Yii 2 больше не принимает параметр?

Я пытался сделать это без истины, такие как:

Yii::$app->getBaseUrl();

Но он просто возвращается пустым.

Как вы можете сделать это в Yii 2?

22
Brett

Чтобы получить базовый URL-адрес приложения, вы должны использовать yii\helpers\Url::base() метод:

use yii\helpers\Url;

Url::base();         // /myapp
Url::base(true);     // http(s)://example.com/myapp - depending on current schema
Url::base('https');  // https://example.com/myapp
Url::base('http');   // http://example.com/myapp
Url::base('');       // //example.com/myapp

Url::home()НЕ должно использоваться в этом случае. Application::$homeUrl использует базовый URL по умолчанию, но его можно легко изменить (например, на https://example.com/myapp/home), поэтому не следует полагаться на предположение, что он всегда будет возвращать базовый URL. Если есть специальный метод Url::base() для получения базового URL, используйте его.

16
rob006

Я думаю, что вам нужно смотреть на псевдонимы.

Использование псевдонимов будет выглядеть так: 

Yii::getAlias('@web');

Вы также всегда можете положиться на одно из этих двух:

Yii::$app->homeUrl;

Url::base();
24
DiegoCoderPlus

Чтобы получить базовый URL Yii2, используйте:

Url::home(true)
7
MrBii

Используйте это так: 

Yii::$app->getUrlManager()->getBaseUrl()

Дополнительная информация о базовых, канонических, домашних URL-адресах: http://www.yiiframework.com/doc-2.0/yii-helpers-url.html

7
NovaLogic

может быть, вы ищете это

Yii::$app->homeUrl

вы также можете использовать это

Url::base().

или это

Url::home();

2
rahul s negi

Вы можете получить доступ к базовому URL следующим образом:

Yii::$app->request->baseUrl
0
Thaier Alkhateeb

Попробуй это:

$baseUrl = Yii::$app->urlManager->createAbsoluteUrl(['/']);
0
Radhe9254

Я искал решение, как мы можем сделать, как в codeigniter, маршрутизации, как Например. 

base_url()
base_url('profile')
base_url('view/12')

Только так мы можем сделать это в Yii2

<?=Url::toRoute('/profile') ?>
0
Bira