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