Olvidaste meter el parámetro que le das a call_user_func como un array
Código PHP :
class Saluda{
public function diHola(){
$FUNCTION = array();
$FUNCTION[0] = "hola";
call_user_func([$this,$FUNCTION[0]]);
}
public function hola(){
echo "hola";
}
}//end class
$saluda = new Saluda();
$saluda->diHola();
Y aqui la version
mas compleja jejeje me puse a jugar para que veas más posibilidades
Código PHP :
class Saluda{
public function diEsto($algo){
call_user_func(array($this, 'decir'), $algo);
}
public function diCosas($palabras = array()){
foreach($palabras as $palabra){
call_user_func(array($this, 'decir'), $palabra);
}
}
public static function decir($esto){
echo $esto;
}
public function quehago($function, $palabra){
call_user_func(array($this, $function), $palabra);
}
}//end class
$saluda = new Saluda();
$saluda->diEsto("Hola");
$saluda->diCosas(["Hola", "Mundo", "Cruel"]);
$saluda->quehago('decir', "gomu Gomu NO Pistol");