О web-разработке
и даже немного больше...

Понимание структуры приложения на Laravel

Как известно, Laravel даёт возможность создавать полноценное веб-приложение, каркас которого изначально построен по правилам паттерна MVC. После установки Laravel на свой компьютер, мы получаем базовую структуру файлов и папок, которые являются отправной точкой для нашего проекта. Понимание назначения их обязательно, особенно на начальном этапе изучения фреймворка, т.к. опираясь на это, вы будете строить большие и маленькие приложения.

После хорошего опыта работы с фреймворком, вы поймёте, что можете свободно организовывать ваше приложение на своё усмотрение. В Laravel нет ограничений в плане размещения каких-либо классов в своих директориях. Это будет работать, пока Composer может автоматически загружать файлы класса.

Давайте рассмотрим краткий список файлов и папок и их назначение в проекте Laravel.

Структура файлов и папок Laravel

/bootstrap/				- Папка с файлами для загрузки фреймворка и настройки автозагрузки
/app/					- Папка для кода ядра приложения (контроллеры, модели)
/resources/views/		- Папка с шаблонами (представлениями)
/resources/sass/		- Исходные файлы SASS
/config/				- Папка с файлами настроек приложения
/database/migrations/	- Папка с файлами миграций для БД
/public/				- Публичная папка проекта (в ней index.php является входной точкой для всех запросов)
/routes/				- Содержит файлы для определения маршрутов веб-приложения
/storage/				- Папка содержит скомпилированные Blade-шаблоны, файлы-сессии, кэши файлов и др.
/tests/					- Папка содержит ваши автотесты (для unit-тестирования)
/vendor/				- Папка содержит Composer-зависимости для вашего приложения
/.gitattributes			- Файлы для работы Git-а
/.gitignore				-
/.phpunit.xml			- Файл для PHPUnit (тестирование)
/composer.json			- Файлы для Сomposer-а
/composer.lock			-
/package.json			-
/artisan				- Файл консольного приложения (CLI) - Artisan
/.env					- Глобальные настройки проекта (параметры MySQL, SMTP, и т.д.)
/webpack.mix.js			- Файл-микс с правилами для сборки JS/CSS из исходников, требуется установленный Node.js

Список не маленький, и на первых этапах кажется, что всё запутано. Однако, в процессе работы, придёт понимание, на сколько удобно организована данная структура для разработки веб-приложений разных сложностей. Тут выжимка из документации, где более подробно расписано назначение файлов и папок фреймворка.

Материалы по организации структуры фреймворка:
https://laravel.ru/docs/v5/structure
https://laravel.com/docs/8.x/structure

Опубликован: 11.03.2021 г.

См. также:

Ограничение параметров в маршрутах Laravel
Необязательные параметры маршрутов в Laravel
Как выбрать записи за определённый период (День, Месяц, Год) в Laravel?
Использование метода leftJoin() для выборки из нескольких таблиц в Laravel
Как просмотреть SQL запрос в Eloquent Laravel?
Как объявить переменную в шаблоне Laravel Blade?
Проверка на пустоту коллекций Eloquent в Laravel
Как получить URL текущей страницы в Laravel?

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

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

Комментарии
  • Загрузка...
Друзья сайта