1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Пара слов про Handler

Тема в разделе "Статьи по XenForo Framework", создана пользователем akinak, 17.06.2015.

Загрузка
  1. akinak

    akinak Местный

    Регистрация:
    12.02.13
    Сообщения:
    259
    Симпатии:
    243
    Версия XF:
    1.1.3
    В процессе написания плагинов или аддонов под ксен приходилось столкнуться с такой штукой как
    Handler-классы. Моя попытка описать эту тему доступно и связно окончилась фиаско, но тему я оставлю - вдруг кто-то опишет. Имхо, данный вопрос таки возникает у разработчиков, которые не учились в школе, а ответов нет. Короче, когда-нибудь ниже будет полезная информация.
     
  2. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Хандлеры - это обработчики :)
    В случае ксенфоро - это обработчики заранее определенных действий для различных типов контента.

    Например, в результатах поиска может отображаться полностью различный контент: посты, темы, узлы, изображения галереи, ресурсы и любой другой контент из других дополнений. И чтобы как-то стандартизировать работу с произвольным типом контента в ксенфоро и используются контент-тайп хандлеры.

    На примере поиска, поисковый движок по поисковой фразе находит набор пар-значений из цифрового ид и типа контента. Для нормального отображения в результатах поиска независимо от типа контента для каждого id должны быть получены все необходимые данные для проверки прав, для добавления модераторского функционала и т.д. Но т.к. тип контента может быть полностью произвольным то разработчики никак не могут знать как получить эти данные (для сторонних дополнений особенно). Поэтому все эти операции передаются контент хандлерам. В зависимости от типа контента для каждой пары конкретным контент хандлером выбираются данные специфичные именно для этого типа контента, проверяются права, подготавливается шаблон для отображения и т.д. Т.е. движок ксенфоро знает что должно быть сделано, а вот как делать - за это уже отвечает контент хандлер.

    Ну это так в общем и упрощенно, детально все по коду можно глянуть :)))))
     
    akinak, Kolya groza morey и Mirovinger нравится это.

Поделиться этой страницей