使用 call_user_func_array 在同一类的另一个函数中调用 PHP 类函数


calling php class function in another function of same class using call_user_func_array

>我有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 otherfunction($param1,$param2){
   $getval = $this->New_Function('req_function',array($param1,$param2));
   }
}

我想从使用 call_user_func_array 的相同类的函数otherfunction调用req_function(因为有很多像 req_functions 这样的函数,因此我决定使用 call_user_func_array),但我无法这样做,因为我没有使用指向父类的$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");