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 – Каталог содержит всех поставщиков услуг вашего приложения. Поставщики услуг загружают ваше приложение, привязывая службы к контейнеру служб, регистрируя события или выполняя любые другие задачи для подготовки вашего приложения к входящим запросам.

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

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

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