В чем разница между homeUrl и baseUrl в структуре Yii?
В чем разница между homeUrl и baseUrl в структуре Yii?
Ответ 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-адресе и будет, например, конкретным маршрутом или страницей, которая перенаправляется после входа в систему.