Php 将函数和参数作为参数传递给中介函数,然后中介函数调用命名函数
我正试图为我的WordPress主题构建一个中介函数,处理所有的检查和瞬态返回。我想从模板调用transient函数,如果transient不存在,则传入transient名称和要调用的函数。此外,如果函数实际被调用,我需要传递要使用的参数 我找不到任何关于将多个参数一起传递以供以后使用的信息。对于一些用途,我可以依赖最终调用函数的默认参数,因此将第三个参数Php 将函数和参数作为参数传递给中介函数,然后中介函数调用命名函数,php,wordpress,Php,Wordpress,我正试图为我的WordPress主题构建一个中介函数,处理所有的检查和瞬态返回。我想从模板调用transient函数,如果transient不存在,则传入transient名称和要调用的函数。此外,如果函数实际被调用,我需要传递要使用的参数 我找不到任何关于将多个参数一起传递以供以后使用的信息。对于一些用途,我可以依赖最终调用函数的默认参数,因此将第三个参数$args设置为false。我研究过使用serialize,但这是一次只针对一个变量,我需要能够同时传递多个参数 其中我调用瞬态函数: $p
$args
设置为false
。我研究过使用serialize,但这是一次只针对一个变量,我需要能够同时传递多个参数
其中我调用瞬态函数:
$posts = transitize('transientname', 'functionname', "4, false, array($post->projectsiteid)");
function transitize($transientname, $functionname, $args=false) {
if (false === ($transient_exists = get_site_transient($transientname))) {
$functionresult = ($args) ? $functionname($args) : $functionname();
set_site_transient($transientname, $functionresult, HOUR_IN_SECONDS);
return $functionresult;
}
else {
return $transient_exists;
}
}
瞬态检查功能:
$posts = transitize('transientname', 'functionname', "4, false, array($post->projectsiteid)");
function transitize($transientname, $functionname, $args=false) {
if (false === ($transient_exists = get_site_transient($transientname))) {
$functionresult = ($args) ? $functionname($args) : $functionname();
set_site_transient($transientname, $functionresult, HOUR_IN_SECONDS);
return $functionresult;
}
else {
return $transient_exists;
}
}
我如何准备第三个参数,其中包含3个参数供以后使用,以便以后的函数调用工作 将第三个参数更改为数组:
$posts = transitize('transientname', 'functionname', array(4, false, array($post->projectsiteid)));
将此行更改为使用调用用户函数数组
:
$functionresult = ($args) ? call_user_func_array($functionname, $args) : $functionname();
您可以将
$args
设置为数组,并使用来调用函数