Yii 框架中的homeUrl和baseUrl有什么区别?
问问题
26766 次
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
从文档:
基本网址:
返回应用程序的相对 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只是您应用的登录页面。好吧,我以前没有使用过这个,但我想你可以在登录后根据用户角色设置不同的 homeurls !
于 2012-09-19T13:33:43.257 回答
1
一个是应用中链接的基本 URL。另一个是主页 URL。主页 URL 将基于基本 URL,并且将是特定的路由或页面,例如,在登录后被重定向到。
于 2012-09-19T12:34:39.453 回答