Skip to content

Добавление событий из внешних классов #3

@mlavrinenko

Description

@mlavrinenko

С одной стороны инструмент позволяет удобно добавлять обработчики, с другой стороны соблазняет добавлять туда все обработчики, хотя это не всегда правильно

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

В принципе для интеграции можно создать свои обработчики, например

Maximaster/Integration/ServiceName/EventHandlers/Bitrix/Main/OnBeforeProlog.php

и добавить в обработку так:

$eventListener->addNamespace(
 'Maximaster\Integration\ServiceName\EventHandlers',
 $_SERVER['DOCUMENT_ROOT']. '/local/EventHandlers'
);

Но по-моему было бы чуть удобнее если пришлось это делать не в коде, а конфиге. Может считывать директивы с composer.json? (он вроде как не при чём, но было бы удобно. Как вариант завести свой конфиг)

Или как минимум добавить такую возможность:

$eventListener->addNamespaces([
 'Maximaster\\EventHandlers' => $_SERVER['DOCUMENT_ROOT']. '/local/classes/Maximaster/EventHandlers',
 'Maximaster\Integration\ServiceName\EventHandlers' => $_SERVER['DOCUMENT_ROOT']. '/local/EventHandlers'
]);

Хотя бы запись существенно упроститься

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions