Открыть сервисСервис

Laravel — PHP-фреймворк веб-разработки

Laravel — это бесплатный веб-фреймворк с открытым исходным кодом, написанный на PHP и основанный на архитектуре MVC (Model-View-Controller). Laravel разрабатывается сообществом под лицензией MIT и позиционируется как один из наиболее популярных PHP-фреймворков для построения веб-приложений. Фреймворк предоставляет инструменты для работы с базами данных, маршрутизацией, шаблонизатором, системой аутентификации и другими типовыми задачами веб-разработки.

История

Laravel был создан Тейлором Отвеллом (Taylor Otwell) и впервые выпущен в июне 2011 года. Отвелл разработал фреймворк как альтернативу CodeIgniter, которой, по его мнению, не хватало встроенных возможностей для аутентификации и авторизации.

Версии фреймворка:

ВерсияГод выходаОсобенности
1.02011Первая публичная версия
4.x2013–2014Переход на Composer, пакетная система
5.x2015–2017LTS-версии, улучшенная система очередей
6.x2019Единая система версий, улучшенная авторизация
8.x2020Поддержка PHP 8, фабрики моделей
9.x2022Поддержка PHP 8.0+, интеграция с Flysystem 3
10.x2023Типизация, обязательные типы возвращаемых значений
11.x2024Минимальная структура приложения, упрощённая конфигурация

С 2015 года Laravel поддерживает политику LTS (Long Term Support) для выбранных версий, что гарантирует обновления безопасности в течение двух лет.

Основные компоненты

Архитектура MVC

Laravel реализует паттерн MVC, разделяя логику приложения на три слоя: модель (данные и бизнес-логика), представление (шаблоны Blade) и контроллер (обработка запросов). Это упрощает поддержку и масштабирование кодовой базы.

Eloquent ORM

Eloquent — это реализация паттерна Active Record в Laravel. ORM предоставляет объектно-ориентированный интерфейс для работы с базами данных без написания SQL-запросов вручную. Поддерживаются MySQL, PostgreSQL, SQLite и SQL Server. Связи между таблицами (один-к-одному, один-ко-многим, многие-ко-многим) описываются декларативно.

Blade

Blade — шаблонизатор, встроенный в фреймворк. Шаблоны Blade компилируются в обычный PHP-код и кэшируются, что обеспечивает высокую производительность. Шаблоны поддерживают наследование, секции, компоненты и директивы условий.

Artisan

Artisan — консольный интерфейс, построенный на Symfony Console. Он предоставляет команды для генерации кода (контроллеры, модели, миграции), запуска встроенных серверов, выполнения задач из очереди и других операций. Пользовательские команды создаются через php artisan make:command.

Система миграций

Миграции позволяют управлять схемой базы данных версионно: изменения описываются в PHP-файлах и применяются к базе данных командой php artisan migrate. Это упрощает совместную работу разработчиков и разворачивание приложения на новых средах.

Composer

Laravel активно использует Composer — менеджер зависимостей для PHP. Все библиотеки и пакеты фреймворка устанавливаются через Composer, а расширение функциональности осуществляется подключением пакетов из Packagist.

Экосистема

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

  • Laravel Forge — платный сервис для развёртывания приложений на собственных серверах.
  • Laravel Vapor — серверless-платформа на базе AWS Lambda.
  • Laravel Nova — панель администрирования для приложений.
  • Laravel Livewire — библиотека для построения динамических интерфейсов без написания JavaScript.
  • Filament — сторонняя админ-панель, построенная на Laravel.
  • Laravel Sanctum — система аутентификации для API и SPA.
  • Laravel Horizon — мониторинг очередей на базе Redis.

Сообщество и документация

Официальная документация Laravel считается одной из лучших в мире PHP-фреймворков и доступна на множестве языков, включая русский. Ежегодно проводится конференция Laracon, а также существуют региональные митапы. Крупнейшие русскоязычные сообщества Laravel существуют на форумах Laravel.ru и в тематических разделах Хабра.

Применение

Laravel используется для разработки:

  • веб-сайтов и лендингов;
  • корпоративных информационных систем;
  • интернет-магазинов (на базе пакетов вроде Bagisto);
  • RESTful и GraphQL API;
  • SaaS-приложений.

Фреймворк применяется как стартапами, так и крупными компаниями. Среди известных проектов на Laravel — платформа Laravel.io, сервис обмена сообщениями Laracasts, а также ряд коммерческих продуктов.

Критика

Основные претензии к Laravel связаны с производительностью по сравнению с более «лёгкими» решениями и с привязкой к PHP, который в некоторых сценариях уступает Go или Node.js по скорости обработки запросов. Также отмечается «магия» фреймворка — скрытая автоматическая логика, затрудняющая отладку для начинающих разработчиков.

Источники

  • Официальная документация Laravel (laravel.com/docs)
  • Laravel Framework на GitHub
  • T. Otwell, «Laravel: Up & Running», O'Reilly Media
  • PHP-фреймворки: сравнение возможностей, Habr
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru