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 сформировалась широкая экосистема сервисов и расширений.
- 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 — облегчённая версия 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, где проводятся доклады и происходит обмен опытом между участниками.
| Дата | Место проведения |
|---|---|
| 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 была отменена.
| Дата |
|---|
| 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 (на английском).


