
Christian Alvarenga
PreguntaSegún la documentación de PHP, la función call_user_func(), sirve para utilizar callbacks dentro del lenguaje, como primer parámetro recibe la función que recibiría como parámetro el callback y, a partir del segundo en adelante le podemos incrustar el callback como tal y otros parámetros que se necesiten.
El profesor solo manda un Array, no entiendo esto. 😭

Christian Alvarenga
Genial pero, no me queda muy claro lo de index, es decir, ¿más adelante definiremos un método llamado index?

Carlos Eduardo Gomez García
¡Hola! No te preocupes, es un asunto de PHP POO, te explico:
La función
call_user_func
call_user_func('index')
El método index pertenece a una clase de controlador, por lo que deberíamos hacer algo como esto:
call_user_func($controller->index)
Pero esto no es posible porque en PHP esta sintaxis no es válida, es decir, daría un error. Y tampoco lo podemos poner entre comillas:
call_user_func('$controler->index')
Porque PHP buscaría una función que se llame literalmente $controller->index (no ejecutaría el código para acceder a la clase, sino que buscaría literalmente una función que se llame así, y no existe y daría error).
¿Entonces cómo le hacemos para pasarle un método a la función'n
call_user_func
call_user_func([new $controller, $method])
En PHP es una convención que si tú mandas un array en donde debería ir una función PHP lo va a tomar como que es un método de una clase e internamente mandará a llamar a ese método de esa clase. Así es la sintaxis de PHP :D