Разработчикам · 2 МИН ЧТЕНИЯ

Структура проекта и жизненный цикл

Найдите основные точки входа, пространства имён и сервисы движка.

Перед началом

Работайте в отдельной копии проекта и проверяйте текущий код перед изменениями. Публичная документация описывает общий контракт; конкретные детали берите из вашей версии.

Порядок действий

  1. Начните с index.php: он подключает корневой autoload, проверяет установку и передаёт выполнение Engine\App::run().
  2. Сервисы регистрируются в Engine/App.php. Для БД, запроса, страницы и сессии используйте существующие точки доступа контейнера.
  3. Компоненты лежат в Engine/Components/{Name}. Контроллер, actions, модели и routes.php используют имена с правильным регистром.
  4. Frontend action наследует BaseAction и реализует handle(array $params = []). Backend action использует компонентную базу и execute().
  5. Отображение передавайте в тему через Page и Template. CLI-точки cron.php и worker.php используют конфигурацию этого же сайта.

Полезные детали

Engine\     → Engine/
Component\  → Engine/Components/
Widget\     → Engine/Widgets/
Plugin\     → Engine/Plugins/
Обратите внимание. Локальный исходник ядра и закодированный файл релиза имеют разное назначение. Не публикуйте исходный Engine/cms.php как часть установочного релиза.

Проверьте результат

Новый код загружается по PSR-4, не создаёт дубликатов каталогов с другим регистром и использует существующие сервисы.

Скриншот инструкции