考虑这个简单的场景:
$this->method($arg1, $arg2);
Run Code Online (Sandbox Code Playgroud)
解:
call_user_func_array(array($this,'method'), array($arg1, $arg2));
Run Code Online (Sandbox Code Playgroud)
考虑这种情况:
$this->object->method($arg1, $arg2);
Run Code Online (Sandbox Code Playgroud)
该解决方案应该有效吗
call_user_func_array(array($this->object,'method'), array($arg1, $arg2));
Run Code Online (Sandbox Code Playgroud)
或者这应该工作?
call_user_func_array(array($this, 'object','method'), array($arg1, $arg2));
Run Code Online (Sandbox Code Playgroud)
编辑:使用call_user_func时,try/catch是否适用于SOAP异常,triger?
try {
$soap_res = call_user_func_array(array($this->service,'getBanana'), array(0, 10));
} catch (SoapFault $fault) {
die($fault->faultstring)
}
Run Code Online (Sandbox Code Playgroud)