小编sta*_*tac的帖子

用call_user_func调用对象的对象方法

考虑这个简单的场景:

$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)

php function dynamic

26
推荐指数
2
解决办法
3万
查看次数

标签 统计

dynamic ×1

function ×1

php ×1