23

YiiフレームワークのhomeUrlbaseUrlの違いは何ですか?

4

3 に答える 3

28
Yii::app()->getBaseUrl(true);   // => http://localhost/yii_projects
Yii::app()->getHomeUrl();       // => /yii_projects/index.php
Yii::app()->getBaseUrl(false);  // => /yii_projects

これは、名前を変更できるパスをハードコーディングするのではなく、画像などのディレクトリまたはファイル自体をポイントする場合のベストプラクティスです。」

于 2013-05-08T08:31:51.100 に答える
18

ドキュメントから:

baseUrl:

アプリケーションの相対URLを返します。これはscriptUrlに似ていますが、スクリプトファイル名がなく、末尾のスラッシュが削除されている点が異なります。

一方、homeUrl

ホームページのURL

アプリケーションのどこかにエコーして、それぞれを自分で調べてみてください。

echo Yii::app()->getBaseUrl(true);// true tells to get a relative url, false the other way
echo Yii::app()->getHomeUrl();

それぞれの使い方は?

baseUrlは、@ bcmcfcが言ったように、アプリケーション内のすべてのリンクのベースとして役立つ可能性があります。

web_root/myapp/img/たとえば、絶対パスを使用してリンクした場合に、イメージにリンクしたいとします。たとえば、すべての開発が完了し、サーバー<img src="C:/wwww/myapp/img/somepic.jpg>にデプロイしたいとします。linux

すべてのリンクが壊れていることがわかります:(しかし、代わりに壊れた場合:<img src= <?php Yii::app()->baseUrl() ?> . "/img/somepic.jpg"すべてが正常に機能するはずです:)

homeUrlは、単にアプリのランディングページです。さて、これまで使ったことはありませんでしたが、ログイン後など、ユーザーの役割に応じて異なるhomeurlを設定できると思います!!

于 2012-09-19T13:33:43.257 に答える
1

1つは、アプリ内のリンクのベースURLです。もう1つはホームURLです。ホームURLはベースURLに基​​づいており、たとえば、ログイン後にリダイレクトされる特定のルートまたはページになります。

于 2012-09-19T12:34:39.453 に答える