【发布时间】:2012-09-11 18:17:29
【问题描述】:
Yii框架中的homeUrl和baseUrl有什么区别?
【问题讨论】:
Yii框架中的homeUrl和baseUrl有什么区别?
【问题讨论】:
Yii::app()->getBaseUrl(true); // => http://localhost/yii_projects
Yii::app()->getHomeUrl(); // => /yii_projects/index.php
Yii::app()->getBaseUrl(false); // => /yii_projects
这是指向图像等目录或文件本身的最佳实践,而不是硬编码可以更改名称的路径"
【讨论】:
来自文档:
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 服务器!
你可以看到你所有的链接都会被破坏 :( 但如果你这样做了:<img src= <?php Yii::app()->baseUrl() ?> . "/img/somepic.jpg" 一切都应该正常工作:)
homeUrl 只是您应用的登录页面。好吧,我以前没有使用过,但我想您可以在登录后根据用户角色设置不同的 homeurl!
【讨论】:
一个是应用中链接的基本 URL。另一个是主页 URL。主页 URL 将基于基本 URL,并且是特定的路由或页面,例如,在登录后被重定向到。
【讨论】: