В чем разница между homeUrl и baseUrl в структуре Yii?

В чем разница между homeUrl и baseUrl в структуре Yii?

Из документов:

BaseUrl:

Возвращает относительный URL-адрес приложения. Это похоже на scriptUrl, за исключением того, что у него нет имени файла сценария, а окончательные косые черты удаляются.

В то время как homeUrl

URL главной страницы

Попробуйте повторить что-то в своем приложении, чтобы изучить их самостоятельно:

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 – это просто целевая страница для вашего приложения. Ну, я не использовал это раньше, но думаю, вы можете установить diffirent homeurls в соответствии с ролью пользователя после входа в систему, например!

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

Это лучшая практика в указании каталога изображений и т. Д. Или самого файла, а не жесткого кодирования пути, который может изменить имя "

Один из них – базовый URL для ссылок в вашем приложении. Другой – домашний URL. Домашний URL-адрес будет основываться на базовом URL-адресе и будет, например, конкретным маршрутом или страницей, которая перенаправляется после входа в систему.