CLI · Winter Console

Команда mapping

mapping управляет дисковым кешем маршрутов: собирает его перед деплоем (build), чистит (clean) и показывает таблицу роутов (show). В проде готовый кеш избавляет роутер от сканирования на старте.

Субкоманды build · clean · showКеш Router::cachePath()

Что такое mapping и зачем

mapping — команда управления кешем таблицы маршрутов.

Проблема. Сканировать контроллеры и собирать маршруты через рефлексию на каждый старт — трата времени в проде. А при отладке хочется видеть, какие роуты вообще зарегистрированы.

Решение. mapping build собирает таблицу заранее в файл, а mapping show показывает её. Об этом и раздел.

Субкоманды

Субкоманда Назначение
build Просканировать контроллеры и записать кеш в Router::cachePath()
clean Удалить файл кеша ([NOT FOUND], если его нет — без ошибки)
show [шаблон] Показать маршруты; необязательный фильтр по подстроке пути
bash
php call mapping build
php call mapping clean
php call mapping show
php call mapping show api/user   # только пути, содержащие api/user

Поведение

  • show читает из кеша, если файл существует; иначе делает живой скан (Router::fromScan).
  • Шаблон обрезается от / и матчится через вхождение в путь.
  • Полный трейс ошибок печатается только при DEBUG=true.

Кеш в релизе

Собирайте кеш маршрутов на этапе сборки образа — вместе с di build: роутер и контейнер стартуют без сканирования. При DEBUG=true кеш не используется (живой скан на каждый запрос).

Дальше