Yii 2でプロジェクトのベースURLを取得しようとしていますが、機能していないようです。 このページ によると、 :
Yii::app()->getBaseUrl(true);
In Yii 1ですが、 そのメソッド in Yii 2はもはやパラメータを受け入れませんか?
私は次のような真実なしでそれをやってみました:
Yii::$app->getBaseUrl();
しかし、空を返すだけです。
どうすればYii 2?
アプリケーションのベース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()
メソッドがある場合は、それを使用します。
私の推測では、エイリアスを調べる必要があります。
エイリアスの使用は次のようになります。
Yii::getAlias('@web');
また、常に次の2つのいずれかに依存することもできます。
Yii::$app->homeUrl;
Url::base();
次を使用してベースURL Yii2を取得するには:
Url::home(true)
次のように使用します。
Yii::$app->getUrlManager()->getBaseUrl()
ベースURL、正規URL、ホームURLの詳細: http://www.yiiframework.com/doc-2.0/yii-helpers-url.html
これを探しているかもしれません
_Yii::$app->homeUrl
_
これも使えます
_Url::base().
_
またはこれ
Url::home();
これを試して:
$baseUrl = Yii::$app->urlManager->createAbsoluteUrl(['/']);
Codeigniterでどのようにできるか、ルーティングのような解決策を探しました。
base_url()
base_url('profile')
base_url('view/12')
<?=Url::toRoute('/profile') ?>
これにより、ベースURLにアクセスできます。
Yii::$app->request->baseUrl