registerEventHandler производит регистрацию в БД, а AddEventHandler в файле init.php. То есть использование первой функции приводит к дополнительной нагрузке на БД. Её лучше использовать в ситуациях, когда выполняемые действия должны быть зафиксированы раз и навсегда и именно в БД.
Разобрались, как оба варианта работают. Но в чем принципиальная разница, кроме как того, что в одном случае обработчик зарегистрирован в таблице b_module_to_module? Какой вариант лучше в плане производительности? Мы отлавливаем результаты нескольких форм, и я не понимаю, что эффективней. Где почитать про это можно? Я пока склоняюсь к регистрации через БД только из-за того, что технически код не будет размазан в папке модуля + init.php, а будет только в папке модуля.
В модуле должен быть только один вариант - с registerEventHandler. Он однозначно производительней, т.к. не вызывается регистрация на каждом хите, а выборка из базы кеширована.
Не надо сверлить зубы через задний проход дрелью от Сваровски