У меня довольно сложное расширение: множество различных объектов, модуль бэкэнда, задача планировщика и т. Д. 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.
Используемая среда: