No estoy seguro de lo que entendemos por "se encarga de la eventual existencia de métodos y de su vocación con sus respectivas variables", pero que podría ser después de call_user_func_array
:
call_user_func_array(
array($myArray[0], $myArray[1]),
array($myArray[2])
);
Si quieres hacer eso para la instancia concreta que creó con $controller = new $myArray(0)
, reemplace $myArray[0]
con $controller
, por ej.
$controller = new $myArray(0);
call_user_func_array(
array($controller, $myArray[1]),
array($myArray[2])
);
o pasar new $myArray[0]
si no se preocupan por la instancia que se perdieron después de la llamada
call_user_func_array(
array(new $myArray[0], $myArray[1]),
array($myArray[2])
);
De lo contrario obtendrá un aviso E_STRICT
y no puede hacer referencia $this
en cualquier myMethod
es. También vea el PHP manual on possible callback formats.
Para validar el método y la clase existen en realidad, puede utilizar
Ejemplo:
if (method_exists($myArray[0], $myArray[1])) {
call_user_func_array(*/ … */)
}
Por favor, aclarar sus colas si se quiere decir algo más. On a sidenote, this was probably answered before, pero como no estoy seguro de cuál es la pregunta, tampoco estoy seguro de cuál elegir.
esto sólo funciona con métodos estáticos, de lo que necesita una instancia de la clase @kemp –
no es cierto, pero agregó una aclaración. Creo que eso es lo que querías decir. – Gordon
tienes razón, mi mal –