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

Undefined property: getRequest

Estas en el tema de Undefined property: getRequest en el foro de Symfony en Foros del Web. Muy buenas, estoy haciendo un form y siguiendo la guía de Maestros del web acerca de symfony 2 y estoy... estancado. Me sale un error ...
  #1 (permalink)  
Antiguo 26/07/2014, 06:26
 
Fecha de Ingreso: enero-2014
Mensajes: 101
Antigüedad: 10 años, 10 meses
Puntos: 7
Undefined property: getRequest

Muy buenas, estoy haciendo un form y siguiendo la guía de Maestros del web acerca de symfony 2 y estoy... estancado.


Me sale un error al seguir esta guía: http://www.maestrosdelweb.com/editor...e-formularios/


El problema está aquí:

public function newAction()
{
//-- Obtenemos el request que contendrá los datos. AQUÍ ESTA EL PROBLEMA
$request = $this->getRequest();

$articulo = new Articles();
$form = $this->createForm(new ArticleType(), $articulo);

//-- En caso de que el request haya sido invocado por POST
// procesaremos el formulario
if($request->getMethod() == 'POST')
{
//-- Pasamos el request el método bindRequest() del objeto
// formulario el cual obtiene los datos del formulario
// y los carga dentro del objeto Article que está contenido
// también dentro del objeto Type
$form->bindRequest($request);

//-- Con esto nuestro formulario ya es capaz de decirnos si
// los dato son válidos o no y en caso de ser así
if($form->isValid())
{
//-- Procesamos los datos que ya están automáticamente
// cargados dentro de nuestra variable $articulo, ya sea
// grabándolos en la base de datos, enviando un mail, etc

//-- Finalmente, al finalizar el procesamiento, siempre es
// importante realizar una redirección para no tener el
// problema de que al intentar actualizar el navegador
// nos dice que lo datos se deben volver a reenviar. En
// este caso iremos a la página del listado de artículos
return $this->redirect($this->generateURL('articulos'));
}
}
return $this->render('MDWDemoBundle:Articulos:new.html.twig', array(
'form' => $form->createView(),
));
}

El error es este:

ContextErrorException: Notice: Undefined property: TUZONA\PrincipalBundle\Controller\MiembrosControll er::$getRequest in /Applications/MAMP/htdocs/TUZONA.ES/Symfony/src/TUZONA/PrincipalBundle/Controller/MiembrosController.php line 15

Pero no sé porqué ni cómo resolverlo...¿alguna idea? :(
  #2 (permalink)  
Antiguo 26/07/2014, 09:45
 
Fecha de Ingreso: enero-2014
Mensajes: 101
Antigüedad: 10 años, 10 meses
Puntos: 7
Respuesta: Undefined property: getRequest

SOLUCIONADO. EL LIBRO DE MAESTROS DEL WEB ESTA MAL.

Solución aquí: http://gitnacho.github.io/symfony-do...ook/forms.html
  #3 (permalink)  
Antiguo 28/07/2014, 06:09
Avatar de Delek  
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 75
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: Undefined property: getRequest

El getRequest() creo que solo funciona a partir de la 2.3, de hecho yo tengo los formularios con esa funcón y funciona perfectamente.
  #4 (permalink)  
Antiguo 28/07/2014, 10:28
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 3 meses
Puntos: 23
Respuesta: Undefined property: getRequest

Cita:
Iniciado por Delek Ver Mensaje
El getRequest() creo que solo funciona a partir de la 2.3, de hecho yo tengo los formularios con esa funcón y funciona perfectamente.

No es asi, esta esta disponible desde antes de la 2.3, lo unico que requiere es que este la libreria requerida para ello,

Código PHP:
Ver original
  1. use Symfony\Component\HttpFoundation\Request;

Teniendo eso declarado en tu controller en la parte superior, puedes llamarla desde cualquier Action

Código PHP:
Ver original
  1. $request = $this->getRequest();



Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)

Etiquetas: undefined
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 09:14.