Laravel 8. Часть 2. Файловая структура

Прежде чем начать что-то менять, следует познакомиться с той структурой, которая уже есть, так как структура отражает определённую философию разработки на выбранном инструменте. И выбрав инструмент мы вольны воплощать на нём любые фантазии, но оставаясь в рамках философии инструмента, иначе фантазии превратятся в кашу. Laravel реализует MVC (model-view-controller) архитектуру приложения.

Чтобы познакомиться со структурой laravel нам, прежде всего, нужно рассмотреть структуру двух каталогов: корневого и каталога app. Подробный обзор можно найти на странице описания структуры каталогов. Упомянем здесь лишь те которые нам понадобятся в ближайшее время.

Файловая структура проекта

  • app — основная директория приложения, здесь хранится описание большей части всех классов, которые мы опишем.
  • bootstrap — это скрипты инициации и загрузки всего приложения.
  • config — содержит описание конфигурации нашего приложения, скоро мы обратимся к нему для настройки соединения с базой данных.
  • database — все созданные нами миграции будут храниться здесь, здесь же хранятся модели фабрик и сидеры для наполнения или посева данных в БД.
  • public — здесь лежит index.php — точка входа в наше приложение через которую проходят все запросы идущие от клиента. Так же здесь лежат файлы картинок, js скриптов и css.
  • resources — здесь хранятся наши представления и шаблоны, а также языковые файлы и не скомпилированные js и css файлы.
  • routes — здесь мы будем записывать правила маршрутизации приложения.
  • storage — сгенерированные временные файлы, кэш и журнал событий.
  • tests — Тесты приложения.
  • vendor — Довольно тяжёлая директория, здесь хранятся все вспомогательные инструменты и любые решения сторонних разработчиков. Например сюда попадёт вся структура админки, которую мы установим в будущем.

Файловая структура каталога приложения (app)

Основная часть логики приложения содержится в каталоге app. По умолчанию этот каталог находится в пространстве имен App и автоматически загружается Composer с использованием стандарта автозагрузки PSR-4.

В только что созданном приложении многие каталоги логики отсутствуют, но могут быть добавлены при использовании make команд artisan. При старте следует обратить внимание на три ключевых каталога: Providers, Console, Http.

Console, Http — содержат соответствующее API для обращения к ядру вашего приложения. Протокол HTTP и интерфейс командной строки являются механизмами взаимодействия с вашим приложением, но на самом деле не содержат логики приложения. Другими словами, это два способа подачи команд вашему приложению. Console Каталог содержит все ваши команды Artisan, в то время как Http каталог содержит ваши контроллеры, промежуточное ПО и запросы к БД.

Providers — Каталог содержит всех поставщиков услуг вашего приложения. Поставщики услуг загружают ваше приложение, привязывая службы к контейнеру служб, регистрируя события или выполняя любые другие задачи для подготовки вашего приложения к входящим запросам.

О том, как настроить соединение с базой данных следующая статья.

Запись опубликована в рубрике Laravel. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *