# Часто задаваемые вопросы об Elang

## Elang — это язык программирования?

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

## Нужно ли сначала знать PHP?

Небольшие знания PHP значительно облегчают понимание фреймворка. Начните с [необходимых основ PHP](/learn/php-basics): урок знакомит именно с теми переменными, массивами, функциями, классами и пространствами имён, которые используются в примерах. Затем проходите уроки по порядку.

## С чего начать полному новичку?

Начните с [настройки окружения](/learn/environment). Проверьте PHP и Composer, прежде чем копировать код приложения. Затем пройдите урок по основам PHP и создайте первый маршрут. Каждый этап содержит конкретный результат, который нужно проверить перед продолжением.

## Что установить на компьютер?

Вам нужны PHP 8.3+ в пределах ветки PHP 8.x, Composer 2, необходимые расширения PHP, терминал и редактор. Для обучения по умолчанию используется SQLite. Для запуска сайта и базовых примеров не требуются Node.js, npm, JavaScript-фреймворк и Docker.

## Есть ли стабильный выпуск в Packagist?

Пока нет. Текущая версия — предварительная версия 0.1 для разработчиков. Устанавливайте её из терминала через репозиторий Composer Elang. Руководство по установке описывает и приложение сайта, и отдельно создаваемое приложение. Не рассчитывайте, что `composer require elang/framework` уже работает через Packagist.

## Можно ли использовать существующие пакеты Composer?

Да. Установите подходящий PHP-пакет с помощью Composer, проверьте его требования к PHP и при необходимости зарегистрируйте его сервисы. Elang не заменяет Composer и не требует отдельного менеджера пакетов. На [странице экосистемы](/ecosystem) перечислены библиотеки, которые действительно использует этот сайт.

## Нужны ли React, Vue или система сборки?

Нет. Twig формирует HTML на сервере. CSS и JavaScript могут быть обычными файлами в `public/assets/`. Вы можете выбрать собственный стек интерфейса для своего приложения, но Elang не требует его для этих уроков.

## Elang лучше Laravel?

Elang стремится к небольшому и понятному API приложения. У Laravel значительно более широкий зрелый набор возможностей и экосистема. Эта ранняя предварительная версия не устанавливает общего превосходства. Конкретные различия и текущие ограничения описаны в [сравнении Elang и Laravel](/guides/elang-vs-laravel).

## Можно ли развернуть приложение на виртуальном хостинге?

Хостинг должен соответствовать требованиям PHP и расширений и поддерживать направление запросов на фронт-контроллер. В корневом веб-каталоге должны находиться только публичные файлы. Некоторые хостинги фиксируют корневой каталог или ограничивают конфигурацию PHP; изучите их возможности перед выбором схемы развёртывания. [Руководство по развёртыванию](/docs/v0.1/deployment) описывает размещение с фиксированным корнем, используемое этим сайтом.

## Куда помещать собственный код?

Контроллеры и сервисы размещаются в `app/`. Маршруты — в `routes/web.php`. Шаблоны — в `resources/views/`. CSS и JavaScript — в `public/assets/`. Конфигурация и секреты остаются вне `public/`. См. [структуру каталогов](/docs/v0.1/structure).

## Как устанавливаются зависимости?

Composer create-project устанавливает приложение и зависимости, создаёт composer.lock и выполняет начальную настройку. После клонирования существующего приложения запустите `composer install`, чтобы воспроизвести зафиксированные зависимости. Глобальный установщик Elang делегирует создание проекта Composer.

## Почему маршрут работает локально, но не на хостинге?

Обычно различаются корневой веб-каталог, правило перенаправления, версия PHP, набор расширений или права доступа к файлам. Запустите doctor на хостинге, изучите список маршрутов и проверьте закрытый журнал сервера. Руководство по устранению неполадок различает ошибки 404, 405, 419, 422 и 500, чтобы можно было исправить нужный уровень.

## Elang уже включает вход, очереди или ORM?

Доступны аутентификация, подтверждённые учётные записи, восстановление пароля, API-токены с областями доступа, репозитории моделей и полные стартовые проекты. Также доступны задания в базе данных, планирование по UTC, SSE, WebSocket, CORS для интерфейсов и операции записи JSON с безопасным повторением. Также доступны кеш и сессии на Redis, строгие ограничения частоты, блокировки и транзакционные уведомления. Полноценная ORM и дополнительные интеграции брокеров остаются за пределами текущей реализации. Прежде чем полагаться на возможность, проверьте [план развития](/roadmap).

## Примеры предназначены для рабочей эксплуатации?

Это учебные примеры с явно обозначенными границами. Доска задач хранит временное состояние в текущей сессии браузера; она не предоставляет учётные записи, долговременные общие данные или полноценный продукт управления задачами. При создании реальных сервисов добавляйте контроль доступа и тестирование, соответствующие приложению.

## Как понять, что установка готова?

Выполните `php elang doctor`. Затем запустите локальный сервер и откройте точный URL из урока. Успешный отчёт проверки требований и ожидаемый HTTP-ответ — более надёжное подтверждение, чем команда, которая просто ничего не вывела.

## Как помочь проекту или получить помощь?

Проверьте [руководство по устранению неполадок](/docs/v0.1/troubleshooting), затем при необходимости подготовьте небольшой пример воспроизведения. Задачи GitHub подходят для обычных ошибок и вопросов. При обнаружении уязвимостей следуйте политике безопасности репозитория и не раскрывайте чувствительные подробности.
