debug_backtrace可以作为非调试功能的一部分吗?

时间:2015-11-21 17:59:56

标签: php wordpress backtrace debug-backtrace

我试图只在从特定父级(或祖父级函数或曾祖父母等)调用它时才执行函数。我可以使用debug_backtrace实现我想做的事情,但我觉得这不是正确的方法。以此为例:

function savethepost($post_id) {
$parent = debug_backtrace();
if ($parent[5]['function'] == 'bulk_edit_posts') {
    if ( isset( $_REQUEST['post_format'] ) && $_REQUEST['post_format'] != -1 ) {
        set_post_format($post_id, $_REQUEST['post_format']);
    }
}
}

这是在Wordpress函数中使用backtrace来执行set_post_format函数只有在从bulk_edit_posts函数调用savethepost函数时才会执行,这是我想要实现的。但是因为这个方法是用于调试的,所以可以这样使用它吗?如果没有,如果只是来自某个父函数,我怎么能实现调用函数?

2 个答案:

答案 0 :(得分:1)

遇到过我之前未见过的old question。接受的答案也适用于这种情况。

答案 1 :(得分:-1)

Debug_backtrace会在准备呼叫跟踪时杀死性能。所以这不是一个好主意。如果您仍然需要这样的逻辑,请尝试使用函数参数

对其进行归档