yii框架中homeUrl和baseUrl有什么区别?

时间:2012-09-19 12:29:36

标签: php yii

Yii框架中 homeUrl baseUrl 有什么区别?

3 个答案:

答案 0 :(得分:28)

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

这是指向图像等目录或文件本身的最佳做法,而不是硬编码可以更改名称的路径“

答案 1 :(得分:18)

来自文档:

<强>的baseUrl:

  

返回应用程序的相对URL。这类似于   scriptUrl除了它没有脚本文件名,然后是   结束斜杠被剥离。

虽然 homeUrl

  

主页网址

尝试在应用程序的某个地方回显以自行检查:

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 1}}服务器!!

您可以看到所有链接都将被破坏:(但如果您这样做了:<img src= <?php Yii::app()->baseUrl() ?> . "/img/somepic.jpg"一切都应该正常工作:)

homeUrl 只是您应用的目标网页。好吧,我之前没有使用过这个,但我想你可以在登录后根据用户角色设置不同的homeurls,例如!!

答案 2 :(得分:1)

一个是应用中链接的基本网址。另一个是主页URL。主URL将基于基本URL,例如,在登录后重定向到的特定路由或页面。