如何在 Whmcs 上获取被调用的钩子的名称?

How to get name of called hook on Whmcs?

我是 Whmcs 的新手。 据我所知,当一个 Hook 被调用时,whmcs 将在模块中寻找任何 add_call 用于此 hook。 我想找出当时调用了哪个钩子。 我想知道在这个过程中调用了哪个钩子,而不需要编辑任何钩子文件。 示例:当客户添加基金挂钩 x 时,系统会为 it.but 寻找任何 add_call 我希望模块获得任何发生的挂钩。(如事件监听器)

看来你需要一个全局钩子,据我所知,它不可用。

如果您正在调试,在常规设置中有一个设置:挂钩调试模式,它会在 Activity 日志中列出所有已执行的挂钩。

其他选项是添加一个函数,并将所有挂钩重定向到它,例如:

function customCatchAllHooks($vars) {
    $trace = debug_backtrace();
    //Get calling function
    if (isset($trace[1])) {
        $info = $trace[1]['args'];
        $hook = $info[0];
        $params = $info[1];

        error_log(print_r([$hook, $params], true), 3, __DIR__.'/hooks.log');

    }

}

//List of hooks, added just two as an example:
add_hook('ClientAreaPageProfile', 1, 'customCatchAllHooks');
add_hook('ClientEdit', 1, 'customCatchAllHooks');
//and so on...