web-dev-qa-db-ja.com

Yii 2でベースURLを取得する

Yii 2でプロジェクトのベースURLを取得しようとしていますが、機能していないようです。 このページ によると、 :

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

In Yii 1ですが、 そのメソッド in Yii 2はもはやパラメータを受け入れませんか?

私は次のような真実なしでそれをやってみました:

Yii::$app->getBaseUrl();

しかし、空を返すだけです。

どうすればYii 2?

27
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を取得する特別なUrl::base()メソッドがある場合は、それを使用します。

20
rob006

私の推測では、エイリアスを調べる必要があります。

エイリアスの使用は次のようになります。

Yii::getAlias('@web');

また、常に次の2つのいずれかに依存することもできます。

Yii::$app->homeUrl;

Url::base();
26
DiegoCoderPlus

次を使用してベースURL Yii2を取得するには:

Url::home(true)
7
MrBii

次のように使用します。

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

ベースURL、正規URL、ホームURLの詳細: http://www.yiiframework.com/doc-2.0/yii-helpers-url.html

7
NovaLogic

これを探しているかもしれません

_Yii::$app->homeUrl
_

これも使えます

_Url::base().
_

またはこれ

Url::home();

3
rahul s negi

これを試して:

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

Codeigniterでどのようにできるか、ルーティングのような解決策を探しました。

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

Yii2でできる唯一の方法

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

これにより、ベースURLにアクセスできます。

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