it-swarm.com.de

Basis-URL in Yii abrufen 2

Ich versuche in Yii 2 die Basis-URL für das Projekt zu erhalten, aber es scheint nicht zu funktionieren. Nach dieser Seite warst du in der Lage:

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

In Yii 1, aber es scheint, dass diese Methode in Yii 2 keine Parameter mehr akzeptiert?

Ich habe es ohne wahr versucht, wie:

Yii::$app->getBaseUrl();

Aber es kehrt einfach leer zurück.

Wie kannst du das in Yii 2 machen?

22
Brett

Um die Basis-URL der Anwendung zu erhalten, sollten Sie die yii\helpers\Url::base() -Methode verwenden:

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()sollte in diesem Fall NICHT verwendet werden. Application::$homeUrl verwendet standardmäßig die Basis-URL, kann jedoch leicht geändert werden (z. B. in https://example.com/myapp/home). Sie sollten sich also nicht auf die Annahme verlassen, dass sie immer die Basis-URL zurückgibt. Wenn es eine spezielle Url::base()-Methode gibt, um die Basis-URL abzurufen, verwenden Sie sie.

16
rob006

Meine Vermutung ist, dass Sie Aliasnamen betrachten müssen.

Die Verwendung von Aliases wäre wie folgt: 

Yii::getAlias('@web');

Sie können sich auch immer auf eine dieser beiden Arten verlassen:

Yii::$app->homeUrl;

Url::base();
24
DiegoCoderPlus

So rufen Sie die Basis-URL Yii2 ab:

Url::home(true)
7
MrBii

Verwenden Sie es so: 

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

Weitere Informationen zu Basis-, kanonischen und Home-URLs: http://www.yiiframework.com/doc-2.0/yii-helpers-url.html

7
NovaLogic

vielleicht suchen Sie das

Yii::$app->homeUrl

sie können dies auch verwenden

Url::base().

oder dieses

Url::home();

3
rahul s negi

Sie können Ihre Basis-URL folgendermaßen erreichen:

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

Versuche dies:

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

Ich suchte nach einer Lösung, wie wir es in Codeigniter machen können, Routing wie

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

Nur so können wir das in Yii2 schaffen

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