Отладка Pimcore
В этом разделе приведены советы и рекомендации по отладке Pimcore, которые помогут вам быстрее освоиться при разработке в этой системе.
Режим отладки (Debug Mode)
Для включения специальных инструментов разработки (профилировщик, панель инструментов и т. д.) Pimcore использует переменную окружения APP_ENV в файле .env, расположенном в корне вашего проекта: APP_ENV=dev
Дополнительно вы можете установить флаг отладки для ядра Symfony, используя APP_DEBUG=1.
Более подробную информацию об этом смотрите в документации Symfony
Режим разработчика (Dev Mode)
Режим разработчика активирует расширенные функции отладки. Это полезно при разработке ядра Pimcore или создании собственных бандлов. Не активируйте этот режим в рабочих (production) системах!
Что именно делает режим разработчика:
- Загрузка исходных JavaScript-файлов (несжатых и с комментариями).
- Отключение некоторых видов кэша (Cache, ...)
- Расширенное логирование в файлы журналов.
- ... и еще кое-какие мелочи
Чтобы включить этот режим, добавьте следующую строку в ваш файл .env:
PIMCORE_DEV_MODE=true
Отладка на стороне сервера
Для отладки на стороне сервера можно использовать стандартные средства отладки php и фреймворка Symfony, подобные приведенным ниже.
- Чтение файлов журнала, как описано здесь
- Использование консоли Symfony profiler в зависимости от активного окружения. Подробности смотрите в документации Symfony
- Использование Xdebug и подходящей среды разработки (IDE) для пошаговой отладки, дополнительную информацию смотрите в Xdebug docs
Отладка на стороне клиента
Для полноценной отладки пользовательского интерфейса (backend UI) активируйте DEV-Mode в системных настройках. В этом режиме все JavaScript-файлы передаются без сжатия и с комментариями. Это позволяет использовать инструменты разработчика в браузере (просмотр реальных строк с ошибками, отладчик, стек вызовов и т. д.).
HTTP-заголовки
Pimcore может добавлять следующие заголовки в свои ответы для предоставления отладочной информации, особенно касающейся кэширования страниц (Full Page Cache):
Если ответ доставлен напрямую из кэша страниц:
X-Pimcore-Output-Cache-Tag:output_<SOME_HASH>: Тег кэша доставленной информации.X-Pimcore-Cache-Date:<CACHE_DATE>: Дата сохранения информации в кэш.
Если ответ мог быть взят из кэша, но не был:
X-Pimcore-Output-Cache-Disable-Reason:<SOME REASON>: Описывает причину, по которой ответ не был доставлен из кэша страниц. Причины могут быть следующими: активен режим отладки (in debug mode), авторизован пользователь административной панели (backend user is logged in), сработало исключение пути в настройках (exclude path patter in system-settings matches), совпал файл cookie-исключения (exclude cookie in system-setings matches) и т.д.
Дополнительный заголовок для идентификации, что ответ отправлен Pimcore.
X-Powered-By:pimcore: Добавляется к каждому запросу.
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.