¿Hay alguna forma, en PHP, para llamar a métodos de una clase padre usando el argumento arbitrario call_user_func_array
? En esencia, quiero escribir un poco de código repetitivo que, aunque un poco menos óptimo, me deja invoco a los padres a un método arbitrariamente como esto:Usando call_user_function para acceder al método padre en PHP
function childFunction($arg1, $arg2, $arg3 = null) {
// I do other things to override the parent here...
$args = func_get_args();
call_user_func_array(array(parent, __FUNCTION__), $args); // how can I do this?
}
Es este un truco extraño? Sí. Sin embargo, usaré esta repetición en muchos lugares, donde es probable que exista un error al transcribir correctamente el método, por lo que la compensación es para menos errores en general.
Apuesto a que una construcción como esta sería más probable que cause errores, porque 'call_user_func_array' y sus amigos son algo mágicos. Algo me dice que probablemente haya una mejor solución, pero el problema no es lo suficientemente claro como para verlo. – Kris