Менеджер событий (EventManager) в 1C-Битрикс

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Менеджер событий (EventManager) в 1C-Битрикс

Менеджер событий (EventManager) — это централизованный механизм регистрации, обработки и управления событиями. Он обеспечивает гибкость и удобство работы с событиями в рамках D7 API.
Если вы подключаете классы с помощью use, то эти классы будут загружены в скрипт при каждом его вызове, даже если обработчик фактически не выполняется. Это может немного повлиять на производительность, особенно если обработчик используется редко.

Код
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    "iblock",
    "OnAfterIBlockElementUpdate",
    ["UpdateBulletinsElements", "onAfterIBlockElementUpdateHandler"]
);

class UpdateBulletinsElements
{
    public static function onAfterIBlockElementUpdateHandler(&$arFields)
    {
        \Bitrix\Main\Loader::includeModule('iblock'));

        // Подключаем классы внутри обработчика
        $currentDate = new \Bitrix\Main\Type\DateTime();
        $dateActiveFrom = $currentDate->toString();
        $dateActiveTo = $currentDate->add('14D')->toString();

        // Обновляем элемент инфоблока
            $el = new CIBlockElement();
            $el->Update(
                $arFields['ID'],
                [
                    'ACTIVE_FROM' => $dateActiveFrom,
                    'ACTIVE_TO' => $dateActiveTo
                ]
            );
    }
}

В этом случае классы загружаются только тогда, когда они действительно нужны, что снижает нагрузку на сервер.
  • Если обработчик вызывается редко, подключайте классы внутри обработчика.
  • Если обработчик используется часто, то использование use оправдано.
  • Всегда учитывайте баланс между производительностью и удобством поддержки кода.
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Стоимость разработки на 1С-Битрикс:

Индивидуальная разработка магазина

от 450 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Запуск сайта на готовом решении

от 100 000 руб. от 7-ми дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Мобильное приложение

от 450 000 руб. от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Сайт компании

от 300 000 руб. от 1-го месяца

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Инфресурс

от 350 000 руб. от 5-ти недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Лечение сайтов от вирусов

от 40 000 руб. от 2-х дней

Выполню полную проверку сайта и окружения. В случае обнаружения вирусов проведу полный комплекс лечения проекта и закрытия лазеек.