Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

BaseUrl:

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

Пока 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 в соответствии с ролью пользователя после входа в систему, например!!

Ответ 2

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

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

Ответ 3

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