from - php call_user_func_array object method
método de invocación de objeto de objeto con call_user_func (2)
considere este simple escenario:
$this->method($arg1, $arg2);
Solución:
call_user_func_array(array($this,''method''), array($arg1, $arg2));
considere este escenario:
$this->object->method($arg1, $arg2);
¿Debería funcionar esta solución?
call_user_func_array(array($this->object,''method''), array($arg1, $arg2));
¿O debería funcionar esto?
call_user_func_array(array($this, ''object'',''method''), array($arg1, $arg2));
Editar: ¿Intentarán / capturarán obras para la excepción SOAP, triger mientras usas call_user_func?
try {
$soap_res = call_user_func_array(array($this->service,''getBanana''), array(0, 10));
} catch (SoapFault $fault) {
die($fault->faultstring)
}
Aquí hay una variante hackish, podría ser útil para alguien:
$method_name_as_string = ''method_name'';
$this->$method_name_as_string($arg1, $arg2);
Esto usa las variables variables de PHP. Feo como el infierno, pero no particularmente más feo que los otros ...
Esto debería funcionar:
call_user_func_array(array($this->object,''method''), array($arg1, $arg2));
El primer argumento es un tipo de devolución de llamada , que contiene una referencia de objeto y un nombre de método.