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

从文档:

基本网址:

返回应用程序的相对 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 回答