Laravel

Laravel — свободный веб-фреймворк на языке PHP, основанный на архитектурном паттерне MVC (model-view-controller). Изначально разработан Тейлором Отвеллом в 2011 году.

Исходный код Laravel доступен на платформе GitHub и распространяется по лицензии MIT[3].

Общие сведения
Laravel
Тип веб-фреймворк
Автор Taylor Otwell
Разработчик Taylor Otwell
Написана на PHP
Операционная система многоплатформенный
Первый выпуск 9 июня 2011[1]
Последняя версия
Репозиторий github.com/laravel/larav…
Лицензия MIT
Сайт laravel.com

История

Тейлор Отвелл начал разработку Laravel с целью создать более функциональную альтернативу фреймворку CodeIgniter, который не предлагал таких функций, как аутентификация и авторизация. Первая бета-версия Laravel вышла 9 июня 2011 года, первая стабильная версия — чуть позже в том же месяце.

Laravel 1 содержал встроенную поддержку аутентификации, локализации, пользовательских сессий, однако не реализовывал полноценную концепцию MVC[4].

Laravel 2 был выпущен в сентябре 2011 года и принёс значительные улучшения: полное соответствие MVC, поддержку внедрения зависимостей и свою собственную систему шаблонов Blade.

Laravel 3 появился в феврале 2012 года. Добавлены инструмент командной строки Artisan, поддержка разных БД, миграции схемы (контроль версий для структуры базы данных), обработка событий и система пакетов Bundles.

Laravel 4 (кодовое имя «Illuminate») вышел в мае 2013 года и был полностью переписан, построен на отдельных пакетах, распространяемых с помощью Composer, что повысило расширяемость фреймворка.

Laravel 5 вышел в феврале 2015 года. В систему были добавлены планировщик заданий (Scheduler) для периодического выполнения задач, абстракция для локальных/облачных файловых систем, улучшенная обработка ресурсов пакетов и интеграция внешних систем аутентификации.

Laravel 6 (сентябрь 2019) ввёл новую схему версионирования SemVer, обновил дизайн страницы ошибок и содержал множество мелких изменений. Версия 6.0 стала релизом с долгосрочной поддержкой (LTS).

Laravel 7 вышел 3 марта 2020 года; основными новинками стали Laravel Sanctum, пользовательские Eloquent Casts, компоненты Blade, расширенные операции со строками и улучшения маршрутизации[5].

Laravel 8 был выпущен в сентябре 2020 года. Появился Jetstream, а директория Models/ вновь стала создаваться по умолчанию. Также были внесены улучшения, в том числе новый механизм технического обслуживания[6].

Laravel 9 вышел в феврале 2022 года. Основные изменения: обязательная поддержка PHP 8, новый дизайн вывода routes:list, инструмент покрытия тестов, анонимные миграции, новый интерфейс Query Builder, string-функции PHP 8, улучшенные accessor’ы/mutator’ы Eloquent, группы маршрутов для контроллеров, поддержка enum, полнотекстовые индексы и новые сообщения об ошибках Ignition.

Laravel 10 вышел в феврале 2023 года. Был добавлен сервис процессов для тестирования и запуска CLI-процессов, функция генерации паролей и команда для выявления медленных тестов, а также другие улучшения[7].

Laravel 11 был выпущен в марте 2024 года. Главное изменение — упрощённая структура каталогов: новая инсталляция состоит только из 69 файлов. Впервые в качестве стандарта применяется SQLite[8].

Laravel 12 вышел 24 февраля 2025 года. Ключевое нововведение — новые стартовые наборы для Vue, React и Livewire на базе компонентов библиотеки shadcn/ui, которые впервые не используют Composer-пакеты. Также реализован переход на Tailwind CSS 4.0 и Vite 6.0.

Ожидается, что Laravel 13 будет выпущен в первом квартале 2026 года[9].

Интеграции и экосистема

Вокруг Laravel сформировалась широкая экосистема сервисов и расширений.

SaaS-сервисы

  • Laravel Forge — SaaS-сервис для развёртывания и управления серверами Laravel на платформе AWS, Digital Ocean, Hetzner Online и Linode (VPS). Поддерживается управление независимыми серверами[10]. Forge позволяет устанавливать PHP, nginx, MySQL, Redis, beanstalkd и другие компоненты, а также использовать веб-интерфейс для управления cron-задачами. Автор и оператор платформы — Тейлор Отвелл.
  • Laravel Vapor — SaaS-сервис для управления бессерверной инфраструктурой AWS, оптимизированный для Laravel. Позволяет упростить деплоймент на serverless-системы.
  • Laracasts.com — видеохостинг с обучающими курсами по веб-разработке, в первую очередь по Laravel и PHP, а также JavaScript-фреймворкам (например, Vue.js). Многие базовые видео доступны бесплатно, доступ к большому количеству роликов предоставляется за плату либо единоразово, либо по подписке[11].

Инструменты

  • Laravel Envoyer — сервис для деплоя Laravel-приложений (GitHub, Bitbucket) и мониторинга серверов (например, на базе Forge). Также проект Тейлора Отвелла.
  • Laravel Valet и Homestead — инструменты для локальной разработки и тестирования Laravel-приложений. Valet запускает код непосредственно на рабочей машине и требует наличие PHP, MySQL и пр., Homestead — это виртуальная машина с Vagrant, не требующая локальной установки зависимостей.
  • Laravel Herd — инструменты для разработки и тестирования Laravel-приложений специально для macOS и Windows.

Библиотеки

  • Laravel Spark — расширение для Laravel 5.2+ для пользовательской панели, простого frontend’а, интеграции платежей через Stripe и Braintree (PayPal), а также других функций для создания SaaS. В отличие от Laravel — не бесплатно, оплачивается за каждую инсталляцию.
  • Laravel Nova — платное расширение для Laravel 5.6+ для построения CRUD-админпанелей. Разрабатывается и распространяется Тейлором Отвеллом.
  • Laravel Horizon — бесплатное расширение для управления очередями с помощью Redis.
  • Laravel Telescope — бесплатное расширение для расширенного отладки: проследование логов, ошибок, SQL-запросов и прочего.
  • Laravel Pulse — расширение для мониторинга состояния Laravel-приложения.
  • Laravel Echo — JavaScript-библиотека для WebSocket-вещания на платформе Pusher API.
  • Laravel Mix — JavaScript-библиотека для компиляции ассетов с помощью Webpack.
  • Laravel Passport — сервер OAuth.
  • Laravel Cashier — интеграция Stripe.
  • Laravel Dusk — инструментарий для браузерных тестов.
  • Laravel Scout — полнотекстовый поиск.
  • Laravel Socialite — интеграция SSO (авторизация с помощью Facebook, GitHub и других сервисов).
  • Laravel Tinker — оболочка REPL для командной строки на PHP.

Версии

Согласно политике поддержки, начиная с девятой версии, основная ветка Laravel получает исправления ошибок в течение 18 месяцев и обновления безопасности — в течение 2 лет. Каждые 3 года выпускается главный релиз с долгосрочной поддержкой (LTS), для него исправления ошибок предоставляются 2 года, а обновления безопасности — 3 года[12]. Такой цикл принят с января 2021 года[13]. До этого основные релизы выходили раз в полгода: 6 месяцев — исправления ошибок, 1 год — обновления безопасности[14].

История версий
Версия Дата Bug Fixes Security Fixes PHP-версия Примечания
1.0 июнь 2011 ≥ 5.3
2.0 сентябрь 2011
3.0 22 февраля 2012
3.1 27 марта 2012
3.2 22 мая 2012
4.0 28 мая 2013
4.1 11 декабря 2013
4.2 1 июня 2014 ≥ 5.4
5.0 4 февраля 2015
5.1 9 июня 2015 9 июня 2017 9 июня 2018 ≥ 5.5.9 Первая LTS-версия
5.2 21 декабря 2015 21 июня 2016 21 декабря 2016
5.3 23 августа 2016 23 февраля 2017 23 августа 2017 ≥ 5.6.4
5.4 24 января 2017 24 июля 2017 24 января 2018
5.5 3 августа 2017 3 августа 2019 3 августа 2020 ≥ 7.0.0 Вторая LTS-версия
5.6 7 февраля 2018 7 августа 2018 7 февраля 2019 ≥ 7.1.3
5.7 4 сентября 2018 4 марта 2019 4 сентября 2019 ≥ 7.1.3
5.8 26 февраля 2019 26 августа 2019 26 февраля 2020 ≥ 7.1.3
6 3 сентября 2019 7 сентября 2021 6 сентября 2022 ≥ 7.2 Третья LTS-версия, переход на семантическое версионирование
7 3 марта 2020 6 октября 2020 3 марта 2021 ≥ 7.2.5
8 8 сентября 2020 1 марта 2022 24 января 2023 ≥ 7.3.0 Переход на ежегодный цикл релизов
9 8 февраля 2022 8 февраля 2023 8 февраля 2024 ≥ 8.0
10 7 февраля 2023 7 августа 2024 7 февраля 2025 ≥ 8.1
11 12 марта 2024 5 августа 2025 3 февраля 2026 ≥ 8.2
12 24 февраля 2025 13 августа 2026 24 февраля 2027 ≥ 8.2

Lumen

Lumen — облегчённая версия Laravel, специально предназначенная для разработки REST API. Следует тому же циклу версий, что и основной фреймворк. С учётом роста производительности PHP за последние годы, Lumen больше не даёт значимых преимуществ[15], и рекомендуется использовать стандартный Laravel для новых проектов[16].

Возможности

К основным функциям Laravel относятся:

  • Eloquent ORM — расширенная PHP-реализация паттерна Active Record для работы с базой данных: каждая таблица представлена классом, строка соответствует экземпляру.
  • Blade — собственный шаблонизатор с возможностью расширения, предназначенный для создания представлений.
  • Seed-функционал для массового заполнения таблиц БД при подготовке проекта или тестировании.
  • Поддержка модульного тестирования.
  • Автоматическая загрузка PHP-классов без ручного управления путями.
  • Reverse Routing — именование маршрутов для идентификации по имени внутри приложения, что позволяет переименовывать URI без корректировки ссылок.
  • Миграции схемы — система контроля версий изменений базы данных.

Платформы и совместимость

Laravel может работать в различных локальных и облачных средах. Помимо встроенного веб-сервера[17] доступны полноценные среды разработки, такие как Sail или Homestead, предоставляющие стандартные сервисы (БД, ElasticSearch, Redis и др.).

В продакшене сервер можно конфигурировать вручную или развернуть через Laravel Forge. При shared-хостинге использование Laravel зависит от способа деплоя: если зависимости компонуются с помощью Composer на целевом сервере, Composer должен быть доступен для установки. Необходимо также переназначить корневую папку сайта на подкаталог /public, что требует определённых настроек у провайдера[18].

Конференции

Laracon — конференция, посвящённая Laravel, где проводятся доклады и происходит обмен опытом между участниками.

Список конференций Laracon
Дата Место проведения
22-23 февраля 2013[19] Вашингтон, округ Колумбия
30-31 августа 2013[20] Амстердам
15-16 мая 2014[21] Нью-Йорк
28-30 августа 2014[22] Амстердам
11-12 августа 2015[23] Луисвилл, Кентукки
25-26 августа 2015[24] Амстердам
27-29 июля 2016[25] Луисвилл, Кентукки
23-24 августа 2016[26] Амстердам
25-26 июля 2017[27] Нью-Йорк
28-30 августа 2017[28] Амстердам
25-26 июля 2018[29] Чикаго
29-31 августа 2018[30] Амстердам
18-19 октября 2018[31] Сидней
24-25 июля 2019[32] Нью-Йорк
28 мая 2020[33] Мадрид Онлайн
28-29 июля 2020[34] Атланта (Джорджия) отменена
3-4 сентября 2020[35] Амстердам
5-6 февраля 2024[36] Амстердам

С 2017 года помимо локальных мероприятий ежегодно проводится онлайн-конференция Laracon с участием докладчиков со всего мира через прямую трансляцию.

Laracon Madrid 2020 прошла в онлайн-формате из-за пандемии COVID-19, Laracon US 2020 была отменена.

Список онлайн-конференций Laracon
Дата
8 марта 2017
7 февраля 2018
6 марта 2019
26 февраля 2020

Примечания

  1. History of Laravel PHP framework, Eloquence emerging — 2013.
  2. Release 12.25.0 — 2025.
  3. laravel/laravel (англ.). GitHub. Дата обращения: 3 мая 2021. Архивировано 5 октября 2025 года.
  4. Maks Surguy. History of Laravel PHP framework, Eloquence emerging (англ.). maxoffsky.com (27 июля 2013). Дата обращения: 29 апреля 2017. Архивировано 3 июня 2025 года.
  5. Release Notes - Laravel - The PHP Framework For Web Artisans (англ.). laravel.com. Дата обращения: 9 марта 2020. Архивировано 17 июня 2025 года.
  6. Release Notes - Laravel - The PHP Framework For Web Artisans. Дата обращения: 10 февраля 2021. Архивировано 4 октября 2025 года.
  7. Laravel 10 is now released! (англ.). laravelnews.com. Дата обращения: 16 марта 2024. Архивировано 24 мая 2025 года.
  8. Laravel 11 is now released! (англ.) (13 марта 2024). Дата обращения: 16 марта 2024. Архивировано 20 августа 2025 года.
  9. Release Notes - Laravel 12.x - The PHP Framework For Web Artisans (англ.). Дата обращения: 17 июня 2025. Архивировано 16 сентября 2025 года.
  10. Server Providers. Дата обращения: 3 мая 2021. Архивировано 29 июля 2025 года.
  11. Laracasts Registration (англ.). Дата обращения: 3 мая 2021. Архивировано 25 января 2022 года.
  12. Release Notes - Laravel - The PHP Framework For Web Artisans. Дата обращения: 1 февраля 2021. Архивировано 4 октября 2025 года.
  13. Laravel: New Release Schedule (англ.). Дата обращения: 1 февраля 2021. Архивировано 26 января 2021 года.
  14. Taylor Otwell. Release Notes – Laravel – The PHP Framework For Web Artisans. Дата обращения: 4 июня 2018. Архивировано 29 сентября 2025 года.
  15. Taylor Otwell. Tweet (англ.). Twitter. Дата обращения: 28 марта 2024. Архивировано 24 сентября 2021 года.
  16. Installation - Lumen - PHP Micro-Framework By Laravel. Дата обращения: 28 марта 2024. Архивировано 5 сентября 2025 года.
  17. Laravel Quickstart - Laravel - The PHP Framework For Web Artisans. Дата обращения: 3 мая 2021. Архивировано 7 августа 2025 года.
  18. Internethelden. Дата обращения: 3 мая 2021. Архивировано 20 января 2022 года.
  19. Laracon Washington, D.C. 2013 (англ.). Дата обращения: 3 мая 2021. Архивировано 15 января 2013 года.
  20. Laracon Amsterdam 2013 (англ.). Дата обращения: 3 мая 2021. Архивировано 26 декабря 2013 года.
  21. Laracon New York City 2014 (англ.). Дата обращения: 3 мая 2021. Архивировано 25 июня 2014 года.
  22. Laracon Amsterdam 2014 (англ.). Дата обращения: 3 мая 2021. Архивировано 18 мая 2014 года.
  23. Laracon Louisville (Kentucky) 2015 (англ.). Дата обращения: 3 мая 2021. Архивировано 24 мая 2015 года.
  24. Laracon Amsterdam 2015 (англ.). Дата обращения: 3 мая 2021. Архивировано 5 марта 2016 года.
  25. Laracon Louisville (Kentucky) 2016 (англ.). Дата обращения: 3 мая 2021. Архивировано 21 мая 2016 года.
  26. Laracon Amsterdam 2016 (англ.). Дата обращения: 3 мая 2021. Архивировано 6 января 2016 года.
  27. Laracon New York City 2017 (англ.). Дата обращения: 3 мая 2021.
  28. Laracon Amsterdam 2017 (англ.). Дата обращения: 3 мая 2021. Архивировано 14 февраля 2017 года.
  29. Laracon Chicago 2018 (англ.). Дата обращения: 3 мая 2021.
  30. Laracon Amsterdam 2018 (англ.). Дата обращения: 3 мая 2021. Архивировано 19 сентября 2017 года.
  31. Laracon Sydney 2018 (англ.). Дата обращения: 3 мая 2021.
  32. Laracon NYC 2019 (англ.). Дата обращения: 3 мая 2021.
  33. Laracon Madrid 2020 (англ.). Дата обращения: 3 мая 2021.
  34. Laracon US 2020 (англ.). Дата обращения: 3 мая 2021.
  35. Laracon Amsterdam 2020 (англ.). Дата обращения: 3 мая 2021.
  36. Laracon EU 2024 (англ.). Дата обращения: 21 апреля 2024.

Литература

  • Стэффер, Мэтт. Laravel. Up and Running. A Framework for Building Modern PHP Apps. O’Reilly, 2016. ISBN 978-1-4919-3608-5 (на английском).