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

2022-08-30 18:19:21

Yii 框架中的 homeUrlbaseUrl 有什么区别?


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

这是指向图像目录等或文件本身的最佳实践,而不是对可以更改名称的路径进行硬编码”


答案 2

从文档中:

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 只是应用的登录页面。好吧,我以前没有使用过这个,但我想你可以根据登录后的用户角色设置不同的homeurls!


推荐