Foros del Web » Programando para Internet » PHP » Symfony »

Duda en el return de un metodo action del controlador

Estas en el tema de Duda en el return de un metodo action del controlador en el foro de Symfony en Foros del Web. Hola de nuevo, Tengo dos funciones en mi controlador: Código: public function ListAction(){ ... alguna lógica $this->ListTotalAction(); } public function ListTotalAction(){ ....alguna lógica return $this->render->('Template') ...
  #1 (permalink)  
Antiguo 27/09/2013, 03:59
 
Fecha de Ingreso: octubre-2010
Mensajes: 5
Antigüedad: 14 años, 1 mes
Puntos: 0
Duda en el return de un metodo action del controlador

Hola de nuevo,

Tengo dos funciones en mi controlador:

Código:
public function ListAction(){
    ... alguna lógica
   $this->ListTotalAction();
}

public function ListTotalAction(){
     ....alguna lógica
     return $this->render->('Template')
}
Y me está dando el tipico error:
Código:
 The controller must return a response (null given). Did you forget to add a return statement somewhere in your controller?
Es decir, quiero que en la acción List llame a la acción ListTotal para que renderice la misma plantilla.

No se puede hacer?
  #2 (permalink)  
Antiguo 27/09/2013, 04:34
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Duda en el return de un metodo action del controlador

El mensaje de error es bastante claro, simplemente agrega el return

Código PHP:
Ver original
  1. return $this->ListTotalAction();
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 27/09/2013, 04:56
 
Fecha de Ingreso: octubre-2010
Mensajes: 5
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Duda en el return de un metodo action del controlador

Gracias por responder.

Mientras me contestabais he seguido buscando y lo he solucionado así:

return $this->forward('FEBUserBundle:Default:ListTotalAction' );

Es decir, haciendo un forward a la acción en el propio Controlador.

En qué se diferencia de tu método?
  #4 (permalink)  
Antiguo 27/09/2013, 10:04
Avatar de Crazylegs  
Fecha de Ingreso: septiembre-2013
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 11 años, 1 mes
Puntos: 14
Respuesta: Duda en el return de un metodo action del controlador

Hola, es sencillo, tu método ListTotalAction() devuelve un valor, en este caso, la renderización de la plantilla, lo llamas en ListAction() pero en ningún momento lo guardas en ningun variable ni haces el return de él, por ejemplo:
Código:
public function ListAction(){
    ... alguna lógica
    $return=$this->ListTotalAction();
    return $return;
}

O mejor, directamente devolver el valor como dice masterpuppet.
  #5 (permalink)  
Antiguo 27/09/2013, 18:01
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Duda en el return de un metodo action del controlador

La diferencia entre forward y llamar directamente a la acción en el controlador es que en el primer caso se genera un subrequest http://symfony.com/doc/current/compo...l#sub-requests, que método utilizar depende de lo que quieras conseguir.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: controlador, metodo, return
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:34.