web-dev-qa-db-fra.com

Obtenir l'URL de base dans Yii 2

J'essaie d'obtenir l'URL de base du projet dans Yii 2, mais cela ne semble pas fonctionner. Selon cette page vous aviez l'habitude de faire:

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

Dans Yii 1, mais il semble que cette méthode dans Yii 2 n'accepte plus de paramètre?

J'ai essayé de le faire sans vrai, tel que:

Yii::$app->getBaseUrl();

Mais il ne fait que rentrer vide.

Comment pouvez-vous faire cela dans Yii 2?

22
Brett

Pour obtenir l'URL de base de l'application, vous devez utiliser yii\helpers\Url::base() method:

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()NE DOIT PAS être utilisé dans ce cas. Application::$homeUrl utilise l'URL de base par défaut, mais il peut être facilement modifié (par exemple, en https://example.com/myapp/home). Vous ne devez donc pas vous fier à l'hypothèse qu'elle renvoie toujours l'URL de base. S'il existe une méthode Url::base() spéciale pour obtenir l'URL de base, utilisez-la.

16
rob006

Je suppose que vous devez regarder les alias.

Utiliser des alias serait comme: 

Yii::getAlias('@web');

Vous pouvez également toujours compter sur l'un de ces deux:

Yii::$app->homeUrl;

Url::base();
24
DiegoCoderPlus

Pour obtenir l'URL de base Yii2 en utilisant:

Url::home(true)
7
MrBii

Utilisez-le comme ceci: 

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

Informations complémentaires sur les URL de base, canoniques et de base: http://www.yiiframework.com/doc-2.0/yii-helpers-url.html

7
NovaLogic

Vous pouvez atteindre votre URL de base par ceci:

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

Essaye ça:

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

J'ai cherché une solution pour faire comme dans codeigniter, un routage comme Ex. 

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

La seule façon de le faire en Yii2

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