Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pplrPmSfFd 74 of 252 menu
◀ ▶

Папка public для статики в Laravel

В прошлом уроке мы разобрали, что такое статические файлы и зачем они нужны сайту. Теперь важный практический вопрос: куда их класть в Laravel, чтобы браузер мог их открыть?

Blade-шаблоны лежат в resources/views/, контроллеры - в app/. Эти папки не предназначены для прямого доступа из интернета. PHP-код и шаблоны должны работать через Laravel, а не отдаваться браузеру как обычные файлы.

Для статики в Laravel есть отдельная папка public/. Это веб-корень сайта - точка входа, на которую смотрит веб-сервер. Файл public/index.php запускает Laravel, а всё остальное внутри public/ браузер может запросить напрямую.

Когда в адресной строке указан путь /css/style.css, браузер ищет файл от корня сайта - то есть в public/css/style.css. Слово public/ в URL не появляется: папка скрыта от пользователя, но именно от неё считаются все пути к статике.

То же правило работает для любого файла внутри public/:

public/css/style.css → /css/style.css public/js/script.js → /js/script.js public/images/logo.png → /images/logo.png

Запись /css/style.css называется относительным URL: в начале указан слеш, но домен сайта не пишут. Браузер сам подставит текущий хост - тот, с которого открыта страница.

Полный адрес называют абсолютным URL. Он состоит из протокола, домена, порта и пути к файлу. Если проект открыт как http://localhost, то стиль из public/css/style.css будет доступен по адресу:

http://localhost/css/style.css

Если Laravel запущен через php artisan serve, адрес может быть другим - например, http://127.0.0.1:8000/css/style.css. Путь после домена остаётся тем же: /css/style.css.

Базовый URL всего приложения задаётся в .env параметром APP_URL. Его Laravel подставляет, когда нужно собрать полный адрес к статике. Пока запомним: статику кладут в public/, а в браузере путь начинается сразу после домена. В следующем уроке разберём, как удобно раскладывать файлы по подпапкам.

Почему статические файлы кладут в public/, а не в resources/views/?

Какой относительный URL будет у файла public/js/script.js?

Откройте в браузере public/css/style.css по его URL и убедитесь, что страница загружается.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить