Добавить обработчик события подключения модуля

Рейтинг: 4.1829  
Новая
Предложил Пользователь 39858 16.05.2012 14:59:01

Добавить обработчик события подключения модуля

Событие после подключения модуля - OnAfterModuleInclude.
Давно уже мучает такая мысль, что часто это было бы удобно для подключения своего функционала, связанного с модулем и местами позволило бы избежать лишнего кастома и замусоривания init.php. Например по событию инклюдить файл со своими дополнительными к модулю функциями, которые используются в шаблонах.
К тому же это позволит не заморачиваться подключенностью модуля, если собственные функции/классы обращаются или унаследованы от модуля.

Всё мучался мыслью а-ля module_epilog.php, но тут увидел предыдущую идею и подумал, что событие удобней.

Или все используют автозагрузку?

Рейтинг: 0  
Пользователь 11948 17.05.2012 01:44:29
Примера использования, к сожалению, даже что-то не видится..
Рейтинг: 0.4056  
Пользователь 39858 17.05.2012 01:56:10
Как раз апдейтил по применению.
Думаю, большинство для этого используют автолоадер и не заморачиваются.
Рейтинг: 0  
Пользователь 654457 16.05.2019 14:09:17
К тому же это позволит не заморачиваться подключенностью модуля, если собственные функции/классы обращаются или унаследованы от модуля.
вот тут очень часто может использоваться данное событие.

Например
расширяем \Bitrix\Sale\Internals\Input\Base

и хотим чтобы этот класс имел публичный метод который будет собственно и регистрировать наш пользовательский тип. (в котором будет \Bitrix\Main\EventManager::getInstance()->addEventHandler(......))
Пробуем обратится к этому методу, на что получаем что class \Bitrix\Sale\Internals\Input\Base не найден.
Не спорю, можно и не делать в рамках этого класса регистрацию пользовательского типа, но мало ли, кому то может и так удобно