Содержание
Laravel написан на языке программирования PHP. Это полностью серверный PHP-фреймворк, который использует архитектурный паттерн MVC (Model-View-Controller). Код ядра фреймворка, все его компоненты (маршрутизация, ORM Eloquent, шаблонизатор Blade, очереди, аутентификация) и прикладной код разработчика также пишутся на PHP. При этом Laravel активно использует современные возможности PHP: пространства имён, трейты, анонимные функции, рефлексию и атрибуты (аннотации).
PHP как основа: почему именно этот язык
Laravel — это детище PHP-разработчика Тейлора Отвелла (Taylor Otwell). Он создал фреймворк, потому что был недоволен существующими решениями (в частности, CodeIgniter) и хотел предоставить PHP-сообществу элегантный, выразительный и современный инструментарий. Таким образом, выбор PHP для Laravel — это фундаментальное решение: фреймворк написан на PHP, для PHP-разработчиков и под задачи, которые традиционно решаются на PHP (веб-приложения, API, CMS, интернет-магазины).
Если сравнивать с CMS, например, Joomla — она также написана на PHP, но представляет собой готовую систему управления контентом с жёсткой структурой, а Laravel — это фреймворк, то есть каркас, на котором разработчик строит архитектуру под свои задачи.
Из каких компонентов состоит Laravel (технический стек)
Хотя ядро написано на PHP, Laravel использует множество дополнительных технологий и инструментов, которые формируют его экосистему.
Symfony Components — невидимый фундамент
Значительная часть низкоуровневых возможностей Laravel построена на компонентах другого PHP-фреймворка — Symfony. Laravel использует такие Symfony-компоненты, как:
- HttpFoundation — работа с запросами и ответами (Request/Response).
- Routing — базовый механизм маршрутизации.
- Console — создание консольных команд (Artisan).
- Process — запуск внешних процессов.
- Finder — поиск файлов в файловой системе.
Это не делает Laravel «надстройкой» над Symfony, но показывает, что авторы Laravel не изобретают велосипед, а используют проверенные библиотеки, переопределяя их поведение под свой API. Благодаря этому Laravel наследует стабильность и безопасность Symfony-компонентов.
ORM Eloquent: PHP + SQL-генерация
Eloquent — это ORM (Object-Relational Mapping) Laravel. Он написан на PHP, но генерирует SQL-запросы к базам данных (MySQL, PostgreSQL, SQLite, SQL Server). При работе с Eloquent разработчик пишет PHP-код, который за кулисами превращается в оптимизированные SQL-запросы.
// PHP-код в Laravel
$users = User::where('active', 1)->orderBy('name')->get();
// Сгенерированный SQL
SELECT * FROM users WHERE active = 1 ORDER BY name ASC;
Шаблонизатор Blade: PHP под капотом
Blade — это движок шаблонов Laravel. Файлы с расширением .blade.php содержат смесь HTML и директив Blade (@if, @foreach, @section). При компиляции они преобразуются в обычный PHP-код и кешируются до следующего изменения. Таким образом, в конечном итоге любой Blade-шаблон становится PHP-скриптом.
Вспомогательные утилиты (Helper-функции)
Laravel включает множество глобальных PHP-функций для упрощения повседневных задач: dd() (dump and die), collect() (работа с коллекциями), env() (чтение переменных окружения), route() (генерация URL по имени маршрута). Все они написаны на PHP.

Технологии, которые управляют Laravel «извне»
Помимо PHP, Laravel взаимодействует и зависит от других систем, которые не являются частью его кода, но необходимы для работы.
| Компонент / технология | Роль в Laravel | На чем написан |
|---|---|---|
| Composer | Менеджер зависимостей PHP (установка Laravel и пакетов) | PHP |
| PHPUnit | Тестирование приложений | PHP |
| Redis / Memcached | Кеширование, драйвер очередей, сессии | C / C++ (клиенты для PHP) |
| MySQL / PostgreSQL | База данных для Eloquent | C / C++ |
Версии PHP, которые использует Laravel
Laravel всегда поддерживает актуальные версии PHP и требует от разработчика использования современного синтаксиса. Это подталкивает PHP-сообщество к обновлениям.
- Laravel 10 требовал PHP 8.1.
- Laravel 11 требует PHP 8.2 или 8.3.
- Laravel 12 (актуальная версия) требует PHP 8.2+.
Благодаря этому в коде Laravel активно используются типизированные свойства, конструкторы с продвижением (promoted properties), перечисления (enums), атрибуты и match-выражения — все современные фичи PHP.
Можно ли использовать Laravel без знания PHP?
Нет. Поскольку Laravel написан на PHP и требует написания PHP-кода для создания маршрутов, контроллеров, миграций, моделей и логики приложения, знание PHP является обязательным. Это отличает Laravel от конструкторов сайтов (например, SitePro.by), где можно собрать сайт визуально без программирования. Laravel — инструмент для профессиональных PHP-разработчиков.
Как устроен типовой проект на Laravel с точки зрения кода
Чтобы окончательно закрепить понимание, на чём написан Laravel, посмотрим структуру минимального проекта:
- app/Http/Controllers — PHP-классы контроллеров.
- routes/web.php — PHP-файл, где определяются маршруты.
- database/migrations — PHP-классы миграций (создание таблиц БД).
- app/Models — PHP-классы Eloquent-моделей.
- resources/views — Blade-шаблоны (
.blade.php). - config/ — PHP-массивы конфигурации.
Все эти файлы — чистый PHP (и немного HTML внутри Blade). Серверный интерпретатор PHP (на хостинге или локальной машине) выполняет эти файлы и генерирует HTML, который отправляется браузеру. Именно поэтому для работы Laravel необходим хостинг с поддержкой PHP (почти любой современный хостинг, включая варианты с панелью cPanel).
Итог: Laravel — это PHP от и до
Таким образом, ответ максимально полный и точный: Laravel написан на PHP. Его ядро, все компоненты, а также код приложений на Laravel — это PHP. Фреймворк использует отдельные компоненты Symfony (тоже PHP) и опирается на экосистему PHP-инструментов (Composer, PHPUnit). Любое взаимодействие с базами данных, кешем или очередями происходит через PHP-драйверы и библиотеки.
Если вы знаете PHP — освоить Laravel будет логичным и мощным шагом в развитии. Если вы не знаете PHP — начать стоит именно с языка, а уже потом переходить к фреймворку.