Давайте рассмотрим в чем разница между Laravel и Lumen. Это 2 фреймворка от одного "производителя". То есть можно предположить, что они если не одинаковы, то очень похожи.

Так и есть. Но у них разное назначение и посему и разная начинка.

Laravel

Laravel – это своего рода швейцарский нож для веб-программиста. Тут есть всё: и валидация форма, и удобная ORM, и шаблонизация, и автоматические множественные связи, и очередь выполнения, и свой собственный шедулер, и отправка почты (со встроенным шаблонизатором и даже поддержкой маркдаун разметки), и удобная особенность в представлении данных в виде коллекций (как в C#, например), с которые расширяют стандартное понимание о массиве данных в PHP, и даже интерфейс для управления через коммандную строку есть (кстати, это очень клевая штука, которая позволяет управлять базой данных и наполением, создавать шаблоны моделей и контроллеров (в том числе с предзаполенными функциями) и много другое.

В общем здесь есть почти всё. Всё, чего не хватает, можно подключить через composer. И оно сразу будет работать. Система сама подхватывает нужные контроллеры, классы и модули. Достаточно просто сесть и написать бизнес-логику, что-то вроде: Клиенты::которые(‘средний чек’, ‘>’, ‘1000’)->вывести() (Client::where(‘invoice’, ‘>’, ‘1000’)->get() и Laravel выберет из базы данных всех клиентов с чеком больше 1000. Минимум настроек, всё работает как по волшебству.

В Laravel есть всё, что нужно для разработки разного размера веб-приложений.

Lumen

Lumen – это легковесный фреймворк, в котором отключено практически всё. Да, он основан на Laravel, но он пустой. В нём есть только ORM, которую ещё нужно подключить, чтобы она запускалась, и каркас для работы моделей и контроллеров. Даже в коммандной строке всё урезано. Но у него другая задача. Он создан для разработки простых и бескомпромисных маленьких приложений и API, которые даже не предполагают наличие веб-интерфейса (он может быть, но не предполагается). Так вот, чтобы отправить почту из Lumen, нужно не просто подключить модуль через composer, но и потанцевать с бубном, чтобы заработало – вот настолько всё урезано.

Зато разработать API или маленький контроллер, который будет выполняться по крону – вот главное призвание Lumen. Он легкий, простой. Ты можешь ничего дополнительно не включать, он просто обработает за тебя все запросы, и направит в нужный контроллер, в котором ты уже запишешь данные в БД или выдашь их обратно клиенту. Всё просто, но в том же время эллегантно.

Например, можно использоваль Lumen для анализа ключевых слов для контекстной рекламы: http://www.direct-up.ru

Понравилась или помогла статья?
Купите мне кофеКупите мне кофе