使用call\u user\u func\u数组在同一类的另一个函数中调用php类函数
我有一个php类,它看起来像下面这样使用call\u user\u func\u数组在同一类的另一个函数中调用php类函数,php,Php,我有一个php类,它看起来像下面这样 class Foo{ function New_Function($functionName,$ParamsArray){ $retValue = call_user_func_array($functionName,$ParamsArray); return $retValue; } function req_function(param1,param2){ //Doing something } function ot
class Foo{
function New_Function($functionName,$ParamsArray){
$retValue = call_user_func_array($functionName,$ParamsArray);
return $retValue;
}
function req_function(param1,param2){
//Doing something
}
function otherfunction($param1,$param2){
$getval = $this->New_Function('req_function',array($param1,$param2));
}
}
我想用call_user_func_数组从其他函数调用req_函数,这些函数是相同类的函数,因为有很多函数类似于req_函数,因此我决定使用call_user_func_数组,但我不能这样做,因为我没有使用指向父类的$this->指针
如何使程序工作?您的代码包含几个错误。请查看评论以了解详细信息
class Foo{
function New_Function($functionName,$ParamsArray){
// Call a class method by array(CLASS, METHOD)
$retValue = call_user_func_array(array($this, $functionName),$ParamsArray);
return $retValue;
}
// Leading dollar signs were missing
function req_function($param1,$param2){
echo "$param1: $param2";
}
function otherfunction($param1,$param2){
$functionName = 'req_function'; // $functioName was not defined
// Call $this->New_Function instead of New_Function
$getval = $this->New_Function($functionName,array($param1,$param2));
}
}
$test = new Foo();
$test->otherfunction("a", "b");
调用用户函数数组[$this,req函数],$arguments?!显示了如何使用实例或类方法作为回调测试:数组$this,$functionName足以指出答案。发现其余的错误是多余和粗鲁的。谢谢你。我会检查并投票。