Что такое Laravel
Что такое фреймворк
Фреймворк — это каркас приложения. Он определяет структуру проекта, порядок выполнения кода и готовые инструменты для типовых задач.
Отличие от библиотеки:
- Библиотека — ты вызываешь её код.
- Фреймворк — он вызывает твой код.
Пример: в Laravel ты пишешь контроллер, а Laravel сам находит его по URL, вызывает метод, отдаёт ответ.
Что такое Laravel
Laravel — PHP-фреймворк для веб-приложений. Создан Тейлором Отвеллом в 2011 году. Сейчас — самый популярный PHP-фреймворк в мире.
Идеология:
- Простота — писать код приятно.
- Выразительность — код читается как речь.
- Батарейки в комплекте — аутентификация, очереди, кеш уже есть.
- Соглашения — меньше конфигурации.
Что даёт Laravel
Основные компоненты:
| Компонент | Задача |
|---|---|
| Роутинг | Сопоставление URL и обработчиков |
| Eloquent ORM | Работа с БД через объекты |
| Blade | Шаблонизатор |
| Миграции | Версионирование схемы БД |
| Artisan | CLI |
| Sanctum | Аутентификация API |
| Валидация | Проверка данных |
| Очереди | Отложенные задачи |
| Кеш | Ускорение |
| Events | События и слушатели |
| Policies | Авторизация |
Плюс: mix/vite, breeze, jetstream, horizon, telescope, pulse — экосистема.
MVC-архитектура
MVC = Model — View — Controller.
- Model — данные и связи (Eloquent).
- View — отображение (Blade).
- Controller — логика обработки запроса.
Поток запроса:
Браузер → index.php → Router → Middleware → Controller → Model → View → Ответ
Зачем использовать
Без фреймворка:
// Всё вручную
$pdo = new PDO('pgsql:host=localhost;dbname=app', 'user', 'pass');
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = ?');
$stmt->execute([$_POST['email']]);
$user = $stmt->fetch();
if ($user && password_verify($_POST['password'], $user['password'])) {
session_start();
$_SESSION['user_id'] = $user['id'];
header('Location: /dashboard');
exit;
}
С Laravel:
if (Auth::attempt($request->only('email', 'password'))) {
return redirect()->intended('/dashboard');
}
Разница: код короче, безопаснее, поддерживаемее.
Версии Laravel
| Версия | Дата | PHP |
|---|---|---|
| Laravel 10 | 2023 | 8.1+ |
| Laravel 11 | 2024 | 8.2+ |
| Laravel 12 | 2025 | 8.2+ |
| Laravel 13 | 2026 | 8.3+ |
Актуальная: Laravel 13. LTS-подобная — 11 (до 2027).
Требования
- PHP 8.2+ (для Laravel 13 — 8.3).
- Composer — менеджер зависимостей PHP.
- Node.js — для фронтенда (Vite).
- База данных — PostgreSQL, MySQL, SQLite.
- Redis (опционально) — кеш, очереди.
Экосистема
Первая сторона (официально от Laravel):
- Sanctum — API-аутентификация.
- Passport — OAuth2.
- Breeze — стартовый набор.
- Jetstream — продвинутый стартовый набор.
- Horizon — мониторинг Redis-очередей.
- Telescope — отладка.
- Pulse — метрики.
- Octane — ускорение через Swoole/RoadRunner.
- Sail — Docker-окружение.
Вторая сторона:
- Spatie — множество пакетов.
- Larastan — PHPStan для Laravel.
- Ide Helper — автодополнение.
- Ray — отладка.
- Flare — ошибки.
Кто использует Laravel
- Большие: 9GAG, Razorpay, Pfizer, BBC, Zendesk.
- Стартапы: тысячи.
- Малый бизнес — подавляющее большинство.
Критика
Минусы Laravel:
- Магия — много «под капотом».
- Производительность — медленнее, чем Go/Rust/Node.
- Размер — много файлов в проекте.
Но:
- Скорость разработки — важнее для 90% проектов.
- Производительность — решается кешем и оптимизацией.
- Магия — если понимать, не проблема.
Когда использовать
Laravel — если:
- Быстрый старт — MVP, стартап.
- Средний проект — CRM, SaaS, маркетплейс.
- Backend для SPA — API.
- PHP-команда.
- Полный стек — backend + admin.
Не Laravel — если:
- Высокие нагрузки — Go, Rust.
- ML/DS — Python.
- Мобильный backend — иногда Node.
- Микросервисы — по ситуации.
Что дальше
- Установка и структура проекта
- Роуты
- Контроллеры
- Blade
- Миграции
- Модели Eloquent
- Связи
- Валидация
- Query Builder
- Пагинация и фильтры
- Аутентификация Sanctum
- Деплой
Практика
Ответь на вопросы:
- Чем фреймворк отличается от библиотеки?
- Что такое MVC?
- Какие 3 главных компонента Laravel?
- Какой PHP нужен для Laravel 13?
Найди:
- На сайте
laravel.com— текущую версию. - В
composer.jsonлюбого проекта Laravel — версию фреймворка.
Итог
- Laravel — PHP-фреймворк.
- Создан Тейлором Отвеллом в 2011.
- MVC — Model, View, Controller.
- Батарейки в комплекте — аутентификация, ORM, очереди, кеш.
- Экосистема — Sanctum, Horizon, Telescope.
- Требования: PHP 8.3+, Composer, БД.
- Для 90% проектов — оптимальный выбор.
Дальше — установка и структура проекта.