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

Примечания

Литература

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