Yii框架中 homeUrl 和 baseUrl 有什么区别?
答案 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,例如,在登录后重定向到的特定路由或页面。