Проблема TYPO3 Reflection Cache (ClassSchematas) - PullRequest
0 голосов
/ 24 февраля 2020

У меня довольно сложное расширение: множество различных объектов, модуль бэкэнда, задача планировщика и т. Д. c. Среди прочего, была расширена модель FrontendUser.

Проблема заключается в следующем:

  • время от времени появляется ошибка: «Ядро: обработчик исключений (WEB) : Uncaught TYPO3 Exception: # 1288965219: $ className должно быть непустой строкой. " и в FE, и в BE
  • глубже в стеке мы обнаруживаем проблему с одним из дополнительных полей в модели FrontendUser
  • после очистки кэша все возвращается в нормальное состояние, на некоторое время

После долгой отладки я смог определить, что проблема в кеше отражения extbase, в файле / typo3temp / var / cache / data / extbase_reflection / ClassSchematas .

Дальнейший анализ показал, что:

  • , если файл кэша запускается с помощью операции внешнего интерфейса, все верно, кэш содержит полную объектную модель FrontendUser
  • , если восстановление кэш запускается серверной операцией (вход в BE, использование модуля BE, запуск задачи в планировщике), затем модель в файле кэша является неполной (она содержит только часть расширенных полей).

Модель уже была проверена много раз, даже пересобрана с использованием extension_builder, TCA кажется правильным, потому что норма l операции в модуле списка работают правильно. У меня больше нет идей, где может быть ошибка.

Буду признателен, если кто-нибудь покажет мне направление дальнейшего поиска: как я могу отладить создание файла ClassSchematas, что контролирует восстановление этого файла и что может вызвать различия в его структуре в зависимости от контекста FE / BE.

Используемая среда:

  • TYPO3 9.5.13
  • PHP 7.3
...