Модульный Laravel, или Как собрать фичу в кучу

PHP Russia: Митап

PHP, Архитектура

#Фреймворки
#PHP
#Разработка библиотек, включая open source библиотеки

Доклад принят в программу конференции

Мнение Программного комитета о докладе

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

Целевая аудитория

Laravel-разработчики уровня middle и выше — те, кто так или иначе задействован в разработке/оптимизации архитектуры проекта

Тезисы

1. Структура файлов, генерируемая при создании Laravel-проекта, проблематична для проектов сложнее набора CRUD'ов. Файлы складываются по типам, и при работе с одной фичей приходится перелопатить несколько папок. Необходимость частичного выделения функционала в отдельный сервис превращается в головную боль.
2. Предлагается новый feature-based-подход, основывающийся на группировке кода и шаблонов по фичам.
3. Для реализации этого подхода докладчиком создана библиотека, о которой речь также пойдёт в выступлении.
4. Приведя в порядок структуру файлов, можно пойти дальше и реализовать на базе той же библиотеки полноценную функциональную модульность — такую возможность она тоже даёт.

Вот уже больше 3 лет разрабатывает проекты на Laravel, из них два — профессионально как штатный веб-разработчик. Всегда стремится к максимальной ясности и структурированности кода, сокращению пространства для возможных ошибок. Не боится залезать в вендорские дебри, особенно когда подозревает наличие там ошибок. Также Аексей — тот самый человек, о котором сразу вспоминает тимлид, когда надо начать проектировать новую функциональность, а в требованиях и будущей реализации ещё много неясного.
С некоторых пор ведет телеграм-канал о разработке — https://t.me/code_way
Увлечений много, но главные из них — творческие: сочинение стихов, прозы и музыки.

Equip Group

Компания занимается главным образом оптовой торговлей оборудованием для сферы HoReCa, и важной частью процесса продаж является дилерский портал equip.me (https://equip.me). Разработка портала и сопутствующих сервисов — основная сфера ответственности их маленькой команды программистов.

Видео