Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/03/2015, 20:12
quico5
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Llamando a un metodo se cargan todos

Tendras que disculparme lo mismo he cogido una idea equivocada

Ya pasara por el manual, pero de entrada se me hacen algo confusos los call_user_func:formatos:
Cita:
mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
mixed call_user_func_array ( callable $callback , array $param_arr )
Supongo que te refieres a que no es lo mismo:
Código PHP:
call_user_func_array(array($controlador,$metodo) ,array('a','b','c') ); 
que:
Código PHP:
$array = array('a','b','c');
call_user_func_array(array($controlador,$metodo) ,$array ); // donde solo me llegaría $array='a' en el controlador;
//Es lo que me desconcierta, envio un array y me llega un vector con la primera posición del array 
Según leo function_user_func() esta presente desde PHP 5.4, como minimo parece que permite llamar a una función aceptanto opcionalmente un segundo parametro a mayores, donde parece que acepta una variable que contiene un array

Según leo function_user_func_array() es mas antigua y necesita los 2 parametros, donde en el siguiente ejemplo lo usan para pasar 2 arrays, el primer array lleva la clase y el metodo mientras que el segundo array lleva los argumentos, lo he visto en:

https://www.youtube.com/watch?v=cQ0o-2aYT2Q
Código PHP:
$argumentos=array('uno','dos','tres','cuatro','cinco')
if (isset(
$argumentos)) {
    
call_user_func_array([new $controlador,$metodo],$argumentos);
} else {
    
call_user_func([new $controlador,$metodo]);


Última edición por quico5; 16/03/2015 a las 20:27