Bitrix — динамический вызов функции (call_user_func_array)
Как вызвать пользовательский обработчик по имени/классу и передать аргументы через call_user_func_array.
$handler = ['\\My\\Handlers\\User', 'afterAdd']; // Статический метод класса
$args = [123, ['LOGIN' => 'demo']];
if (is_callable($handler)) {
call_user_func_array($handler, $args);
}
// Класс-обработчик
namespace My\\Handlers;
class User {
public static function afterAdd($userId, array $fields) {
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/local/user.log',
"Add: {$userId} ".json_encode($fields)."\n", FILE_APPEND);
}
}