Поиск по тегу «расширенная отладка»
Как иногда начинают свой монолог неопытные стендаперы: «У всех в жизни было такое …», когда вывел на главную страницу сайта список пользователей, а там половина – серые тени новичков, не подтвердивших регистрацию. Давайте в качестве ещё одного примера по использованию хуков уберём их оттуда, оставив только реальных пользователей.
Новые возможности и удобства, облегчающие разработчикам отладку компонентов и шаблонов.
Одной из неудобных задач при отладке для меня является поиск причины ошибки 403/404. Иногда она настолько неочевидна, что приходится пошагово проходить код xDebug-ом. Ещё одна «зона сумрака» при отладке – любая страница перед редиректом, например, обработка формы добавления/изменения контента. Тут тоже нужен или xDebug, или var_dump() с принудительным остановом после него. «Расширенная отладка» версии 14.1.2 и выше значительно упрощает анализ таких моментов.
Иногда при тестировании кода возникает необходимость как-то более удобно вывести данные из повторяющихся участков кода или наглядно отследить изменения в переменных. Для этого предназначены табличные контрольные точки (ТКТ).
Вторая версия InstantCMS понравилась мне ещё с релиз-кандидатов - очень продуманная система. Но ещё с тех давних времён я хотел добавить ссылки под заголовками виджетов. Предложенный вариант - не самый простой. Зато очень хорошо подходит для изучения работы с хуками.
Обновление отладки. Очистка фильтров и другое.
Обновил документацию по использованию "Расширенной отладки" с учётом новых версий движка и отладки. Новые примеры, новые скриншоты, новые возможности.
Авторы InstantCMS 2 подробно описали создание виджетов в разделе документации «Виджеты» и даже наглядно показали весь процесс в видео-туториале «Создание виджета». Цель этого поста – показать работу виджетов сайта «изнутри» не вдаваясь в программистские подробности. Это будет полезно для изучения работы Двойки и для анализа купленных виджетов на тормоза или перерасход памяти.
В разделе документации «Обработка событий» работа с событиями и хуками описана очень качественно и подробно. Поэтому я ни как не претендую на замену документации, а просто попробую наглядно показать сказанное в ней на реальных примерах. Считайте, что я сделал напоминалку по теме самому себе, но может она ещё кому-то пригодится.
Как говорят у нас в Украине: «Лучше 100 раз пощупать, чем один раз услышать». Поэтому представляю возможность наглядно «пощупать» работу Двойки. 😊 Новая, полностью переписанная версия «Расширенной отладки» на базе дефолтной отладки 2.14. Благодаря изменениям в Двойке за последние годы и мудрым подсказкам Fuze теперь она сделана компонентом, работающим в двух режимах: стандартном - практически без изменения ядра, и полном - с патчами ядра для сбора дополнительных отладочных данных.
С версии 14.1 «Расширенная отладка» может работать в двух режимах:
Мощная система расширенной отладки. Позволяет легко, наглядно и управляемо получить информацию о последовательности, времени выполнения, используемой памяти и других параметрах PHP-скриптов и частей CMS, а также о работе с базой данных и кешем. Данная «Отладка» будет полезна как начинающим пользователям для изучения работы InstantCMS 2, так и опытным разработчикам компонентов/шаблонов при создании и тестировании своих продуктов. А так же всем пользователям CMS для выявления проблем при размещении сайтов на реальных серверах, где невозможно или неудобно использовать xDebug или подобную систему отладки.
Ответы актуальны для крайней версии «Расширенной отладки». Влияет ли «Расширенная отладка» на функционирование InstantCMS 2? «Расширенная отладка» не оказывает влияния на работу функций CMS и её компонентов. Она только ведёт учёт происходящих в системе действий. Какие изменения вносит «Расширенная отладка» в систему? «Расширенная отладка» не изменяет базу данных, кроме добавления стандартной записи о новом установленном компоненте. Начиная с версии 14.1 отладка может работать в двух режимах: стандартном - практически без изменения ядра, и полном - с патчами ядра для сбора дополнительных отладочных данных. Подробнее про режимы и изменяемые файлы можете почитать на странице описания режимов. Установил отладку, но информации отладки на сайте не вижу. Что не так? 1.
В стандартной версии движка пока перехватываются и обрабатываются только ошибки при обращении к базе данных. Ошибки PHP и предупреждения (в случае соответствующих настроек на сервере) не выводятся, а тихонько ложатся в лог веб-сервера. «Расширенная отладка» предоставляет несколько больше возможностей при обработке ошибок, которые будут полезны и разработчикам, и вебмастерам.
При анализе работы движка CMS или при отладке своих компонентов/шаблонов требуется знать состояние переменных в разных местах кода. Частично эта задача решается выводом информации об основных операциях несколькими щелчками мышки в «Расширенной отладке». А для более точного понимания происходящего в любом месте кода можно использовать контрольные точки.