# Знакомство с Elang

Elang — PHP-фреймворк с явным API приложения и модульными сервисами. Определяйте маршруты, объединяйте сервисы, возвращайте ответы и сохраняйте понятную структуру приложения.

Этот сайт работает на Elang и предлагает материалы на английском, азербайджанском и русском языках. Его интерфейс построен на HTML, CSS и обычном JavaScript; серверная часть использует тот же маршрутизатор, контейнер и сервисы, которые описаны здесь.

## Текущий статус

**Предварительная версия 0.1 для разработчиков.** Это ранняя работающая основа, а не стабильный выпуск для эксплуатации в рабочей среде. Публичные API могут измениться. Превосходство над Laravel не заявляется; существует лишь узкое сравнение серверов разработки, которое не доказывает общего преимущества в производительности.

## Что входит в состав

- HTTP-ядро, именованные маршруты, группы маршрутов и middleware.
- Контейнер PSR-11 с внедрением зависимостей через конструктор и явными привязками.
- Шаблоны Twig с включённым экранированием HTML.
- Ограничения валидации Symfony со структурированными ошибками.
- Подключения Doctrine DBAL, построитель запросов и команды миграций.
- Сессии, middleware для CSRF, хеширование паролей Argon2id и шифрование Sodium.
- Кеширование PSR-16, журналирование PSR-3, события, почтовый транспорт и консоль.

## Что пока не входит в состав

В эту предварительную версию включены аутентификация, роли, API-токены с областями доступа, слой моделей и репозиториев, локальная Studio и MCP-сервер документации с доступом только для чтения. Также включены фоновые задания, планирование по UTC, SSE, WebSocket с аутентификацией, CORS для интерфейсов и идемпотентность операций записи JSON. Реализованы инфраструктура на Redis, транзакционные уведомления outbox, MFA, ключи доступа и управление устройствами, организации, закрытые файлы, входящие уведомления, OpenTelemetry и стартовые проекты React/Next/SaaS. Полноценная ORM, дополнительные интеграции брокеров и средства автоматического обновления остаются в планах.

## Требования

PHP 8.3 или новее в пределах ветки PHP 8.x, Composer 2 и расширения, указанные в `composer.json`. Для примеров с SQLite также требуется `pdo_sqlite`. Для MySQL нужен `pdo_mysql`, для PostgreSQL — `pdo_pgsql`.

Перейдите к [установке](/docs/v0.1/installation) или пройдите [учебный курс](/learn).
