Files
XC_VM/docs/ru/development/bootstrap-contexts.md
T
Divarion_D dbf535bcc5 docs(translate): robust {N} sentinels + possessive handling; regenerate ru
Fix Markdown-mangling artifacts the free web engine (yandex) produced in the
committed docs/ru, and regenerate the whole tree cleanly (0 fallbacks):

- Sentinel format @@N@@ -> {N}. MT engines are trained to preserve curly
  format-string placeholders, so {N} survives code-heavy lines where @@N@@ (and
  ZZZ…ZZZ, which also duplicated its Z) were split/moved — e.g. the stray
  "@0@@" in the FAQ and "load balancerZ" in the README are gone.
- Possessive: a trailing English `'s` is consumed INTO the masked span and
  dropped on restore. Every sentinel format breaks when a bare `'s` sits right
  after it, and Russian has no possessive `'s`.
- Validate + retry: after restore, any leftover brace fragment triggers a retry
  (the engine is non-deterministic); after a few failures the line stays English
  so a broken token is never emitted.
- Glossary += KeyDB, yt-dlp, Ubuntu, iptables, MAGSCAN.

Regenerated docs/ru (37 files, translators/yandex): no residual sentinels,
mkdocs build --strict clean.
2026-08-21 16:31:01 +03:00

6.0 KiB

Контексты начальной загрузки

XC_Bootstrap - это единая точка входа для инициализации системы. Каждый контекст загружает только те подсистемы, которые необходимы для его пути выполнения. Контекст выражается в виде значения перечисления BootContext.


Краткий справочник

Случай перечисления Типичное использование
BootContext::MINIMAL Скрипты, которым нужны только пути /конфигурация
BootContext::CLI Задания Cron и команды CLI
BootContext::STREAM Конечные точки потоковой передачи (live, vod, timeshift)
BootContext::ADMIN Панель администратора/реселлера

Детали контекста

BootContext::МИНИМАЛЬНЫЙ

Загружает константы, пути, конфигурацию, логгер и обработчики ошибок. Нет подключения к базе данных.

Включает в себя:

  • Composer PSR-4 автозагрузчик (vendor/autoload.php)
  • константы пути (MAIN_HOME, INCLUDES_PATH, ...)
  • регистратор (Logger::init())
  • помощники по устранению ошибок (generateError(), generate404())

Не включает: базу данных, Redis, сеансы, транслятор, API-интерфейсы администратора.

require_once '/home/xc_vm/bootstrap.php';
XC_Bootstrap::boot(BootContext::MINIMAL);

Загрузочный текст::CLI

Используется для задач cron и CLI. Добавляет инициализацию базы данных и устаревшего ядра поверх MINIMAL.

Включает в себя:

  • Подключение к базе данных
  • LegacyInitializer
  • необязательно Redis ('redis' => true)
  • необязательный заголовок процесса ('process' => '...')
require_once '/home/xc_vm/bootstrap.php';
XC_Bootstrap::boot(BootContext::CLI, [
    'cached' => true,
    'process' => 'xc_vm: my-job',
]);

BootContext::ПОТОК

Облегченный контекст для конечных точек потоковой передачи с высокой нагрузкой.

Включает в себя:

  • Подключение к базе данных (cached=true)
  • защита от наводнений и проверка хостинга

Исключает: Redis, переводчик, API-интерфейсы администратора, сеансы.

require_once '/home/xc_vm/bootstrap.php';
XC_Bootstrap::boot(BootContext::STREAM, ['cached' => true]);

BootContext::АДМИНИСТРАТОР

Полная инициализация панели администратора/реселлера.

Включает в себя:

  • защищенный сеанс (SameSite=Strict)
  • Подключение к базе данных (cached=false)
  • LegacyInitializer
  • Redis
  • API-интерфейсы администратора/реселлера
  • переводчик
  • обработчик завершения работы
  • постоянные состояния и глобальные параметры администратора
require_once '/home/xc_vm/bootstrap.php';
XC_Bootstrap::boot(BootContext::ADMIN);

Матрица подсистемы

Подсистема минимальный КЛИ течение администратор
Константы/пути ✅ ✅ ✅ ✅
Лесоруб ✅ ✅ ✅ ✅
Защита от наводнений — — ✅ ✅
Проверка хостинга — — ✅ ✅
База данных — ✅ ✅ ✅
Инициализатор наследия — ✅ — ✅
Redis — выбирать — ✅
Сессия — — — ✅
API администратора — — — ✅
Переводчик — — — ✅

boot() параметры

XC_Bootstrap::boot(BootContext $context, array $options = []);
Вариант Тип По умолчанию Описание
cached bool true для ПОТОКА, false в противном случае Использовать кэшированные настройки
redis bool true для АДМИНИСТРАТОРА, false в противном случае Подключить Redis
process string '' Название процесса для CLI
shutdown callable встроенный Переопределить обратный вызов завершения работы

Идемпотентность

boot() выполняется один раз для каждого процесса. Повторные вызовы игнорируются.

XC_Bootstrap::boot(BootContext::ADMIN);
XC_Bootstrap::boot(BootContext::CLI); // ignored

Для проведения тестов:

XC_Bootstrap::reset();

Общедоступные методы

XC_Bootstrap::getContext(): ?BootContext
XC_Bootstrap::isBooted(): bool
XC_Bootstrap::isCli(): bool
XC_Bootstrap::getDatabase(): ?Database
XC_Bootstrap::getContainer(): ServiceContainer

Связанные файлы

Файл Роль
src/bootstrap.php Определяет MAIN_HOME, требует автозагрузки Composer, загружает контекст
src/Core/Enum/BootContext.php Перечисление контекста загрузки
src/Core/Init/LegacyInitializer.php Унаследованная инициализация для каждого контекста