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?
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.
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();
Pour obtenir l'URL de base Yii2 en utilisant:
Url::home(true)
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
Vous pouvez atteindre votre URL de base par ceci:
Yii::$app->request->baseUrl
Essaye ça:
$baseUrl = Yii::$app->urlManager->createAbsoluteUrl(['/']);
J'ai cherché une solution pour faire comme dans codeigniter, un routage comme Ex.
base_url()
base_url('profile')
base_url('view/12')
<?=Url::toRoute('/profile') ?>