Различия и сходства между люменом и ларавеллой

Я прочитал документацию, и кажется, что Lumen — это Laravel с меньшими возможностями. Я должен что-то упустить.
Я ищу сравнительную таблицу компонентов и функций Laravel и Lumen. Кто-нибудь знает различия?

163

Решение

Обновление (5.2)

В последней версии Lumen (5.2) микрофрейм фокусируется на API без сохранения состояния.
документация состояния:

Lumen 5.2 представляет собой переход на похудение Lumen, чтобы сосредоточиться исключительно на обслуживании API-интерфейсов JSON без сохранения состояния. Таким образом, сеансы и представления больше не включаются в структуру. Если вам нужен доступ к этим функциям, вы должны использовать полную среду Laravel.


Оригинальный ответ (<= 5.1)

Люмен это все о скорости. Это быстрее и может обрабатывать больше запросов в секунду, чем Laravel.

Laravel — это фреймворк, который склеивает множество компонентов (сторонних и собственных компонентов Laravels). Теперь Lumen использует множество одинаковых компонентов, но сокращает процесс начальной загрузки до минимума. Можно сказать, что это «другой клей», компоненты (и, следовательно, многие функции) в основном одинаковы.

Повышение производительности достигается за счет устранения некоторой гибкости инфраструктуры с точки зрения конфигурации и изменения процесса загрузки по умолчанию.

Кроме того, другие функции по умолчанию отключены и должны быть активированы перед использованием. В качестве примера: Фасады (лайк DB::table())
Сначала нужно раскомментировать эту строку в bootstrap/app.php чтобы включить их:

// $app->withFacades();

То же самое касается файлов среды Dotenv и Eloquent.

Для маршрутизации Lumen использует nikic / FastRoute вместо маршрутизатора Symfonys, потому что он работает намного лучше и дает микро-фреймворк еще один большой импульс.

В остальном все почти так же, как в Laravel.

Хорошо читает на люмен

190

Другие решения

Lumen не предназначен для замены Laravel, скорее это более специализированная (и урезанная) платформа, разработанная для микросервисов и API. Он убрал ненужные функции для API, такие как HTTP-сессии и файлы cookie, а также ограничил количество параметров конфигурации. Из коробки Люмен пожертвовал гибкостью Laravel для скорости.

Тем не менее, вы можете добавить компоненты Laravel в Lumen, чтобы расширить его, так что Можно использоваться не только для микросервисов и API. Однако, если ваша цель состоит в том, чтобы расширить Lumen, чтобы он стал веб-сайтом, вы можете использовать вместо этого Laravel.

У них также есть разные варианты использования. Люмен и Ларавел предназначены для совместной работы. Для часто вызываемых API и сервисов используйте Lumen. Для пользовательских приложений используйте Laravel.


Этот ответ взят из Сообщение блога Я написал, что объясняет разницу между Lumen и Laravel.

38

Цитата от Мэтта Штауффера

У Lumen та же основа, что и у Laravel, и много таких же компонентов. Но Lumen создан для микросервисов, а не для приложений, ориентированных на пользователя (хотя его можно использовать для чего угодно). Таким образом, тонкости внешнего интерфейса, такие как Bootstrap и Elixir, а также начальная загрузка аутентификации и сессии, не включаются из коробки, и есть меньшая гибкость для расширения и изменения файлов начальной загрузки.

Вы можете прочитать больше Вот

13

Микрофреймы Lumen — это облегченная версия полнофункционального фреймворка Laravel. Lumen использует синтаксис и компоненты Laravel и может быть легко «обновлен» до Laravel.

Lumen является более специализированной (и урезанной) средой, разработанной для разработки микросервисов и API. Таким образом, некоторые функции в Laravel, такие как сеансы HTTP, файлы cookie и шаблоны, не нужны, и Lumen забирает их, сохраняя то, что важно — маршрутизацию, ведение журнала, кэширование, очереди, проверку, обработку ошибок и несколько других.

4

Почему люмен?

Lumen — это идеальное решение для создания микросервисов на основе Laravel и быстрых API. На самом деле, это одна из самых быстрых доступных микро-платформ. Никогда еще не было так легко написать потрясающе быстрые сервисы для поддержки ваших приложений Laravel. доктор

Lumen — это фреймворк для создания API, который, по сути, будет обслуживать ответы JSON на ваши запросы. Вот и все.

Эти виды приложений известны как веб-сервисы в целом.

Начиная с обновления Lumen 5.2, он не поддерживает представления laravel, сеансы и т. Д., Для этого вам придется перейти на полную среду laravel.

Некоторые компоненты платформы Laravel заменяются другими пакетами в пользу производительности. проверьте их здесь

Примеры сценариев, где мы можем рассмотреть Lumen

  • Возможно, вы захотите открыть некоторые функции приложения для других разработчиков через API
  • Ваше приложение должно поддерживать как веб-приложение, так и мобильное приложение, тогда оно будет идеальным для хранения данных в БД, обернутой в Lumen API.
  • Когда вы рассматриваете масштабируемость как важный момент, вам может понадобиться просвет
0
По вопросам рекламы [email protected]