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

[SOLUCIONADO] Problemas con Build Form en Symfony 2

Estas en el tema de Problemas con Build Form en Symfony 2 en el foro de Symfony en Foros del Web. Buenas gente! Aquí nuevamente luchando con Symfony 2. Les comento que he intentado (fallidamente) utilizar BuildForm para una de mis entidades y me dio el ...
  #1 (permalink)  
Antiguo 23/07/2012, 10:16
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Pregunta Problemas con Build Form en Symfony 2

Buenas gente!
Aquí nuevamente luchando con Symfony 2.
Les comento que he intentado (fallidamente) utilizar BuildForm para una de mis entidades y me dio el siguiente error:
Fatal error: Declaration of Relof\testBundle\Form\TestType::buildForm() must be compatible with that of Symfony\Component\Form\FormTypeInterface::buildFor m() in C:\xampp\htdocs\Symfony\src\Relof\testBundle\Form\ testType.php on line 6

El contenido del testType es:
<?php
namespace Relof\testBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class TestType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('campo1')
->add('campofecha')
->add('campoentero');
}
public function getName()
{
return 'test_form';
}
}

Obviamente, se trata de una prueba porque recién estoy empezando con esto.

Alguien tiene una idea de lo que puedo estar haciendo mal?

Desde ya, mil gracias!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #2 (permalink)  
Antiguo 23/07/2012, 10:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con Build Form en Symfony 2

No conozco Symfony como tal pero el error es claro, tu método buildForm debe de tener los mismos argumentos que el que esta definido en FormTypeInterface::buildForm(), por eso te da ese error fatal.
  #3 (permalink)  
Antiguo 23/07/2012, 10:27
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Problemas con Build Form en Symfony 2

Ok gracias, veré cómo está definido el componente. Muchas gracias por tu respuesta
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #4 (permalink)  
Antiguo 23/07/2012, 12:47
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Problemas con Build Form en Symfony 2

Tengo lo siguiente en FormTypeInterface::buildForm:

/**
* Builds the form.
*
* This method is called for each type in the hierarchy starting form the
* top most type. Type extensions can further modify the form.
*
* @see FormTypeExtensionInterface::buildForm()
*
* @param FormBuilderInterface $builder The form builder
* @param array $options The options
*/
public function buildForm(FormBuilderInterface $builder, array $options);

Y por lo que puedo ver, tiene los dos argumentos que le estoy pasando... la verdad que no logro darme cuenta qué es lo que estoy colocando mal
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #5 (permalink)  
Antiguo 23/07/2012, 13:08
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problemas con Build Form en Symfony 2

Que tal verinchi,

Ten en cuenta que no son iguales, las firmas son diferentes, en la clase base es FormBuilderInterface y en tu clase es FormBuilder, utiliza la interface en vez de una implementacion en concreto.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #6 (permalink)  
Antiguo 23/07/2012, 13:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con Build Form en Symfony 2

Código PHP:
Ver original
  1. // Symfony
  2. public function buildForm(FormBuilderInterface $builder, array $options);
  3. // tú código
  4. public function buildForm(FormBuilder $builder, array $options)

Saludos.
  #7 (permalink)  
Antiguo 23/07/2012, 13:52
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Problemas con Build Form en Symfony 2

Ni caso, seguiré buscando a ver que encuentro. Gracias de todos modos, cuando lo resuelva, lo posteo.

Saludos
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #8 (permalink)  
Antiguo 23/07/2012, 14:27
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problemas con Build Form en Symfony 2

No tiene mucha vuelta, has echo el import de la clase ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #9 (permalink)  
Antiguo 23/07/2012, 15:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con Build Form en Symfony 2

Deja del import simplemente es declarar que usas FormBuilderInterface en lugar de FormBuilder.
  #10 (permalink)  
Antiguo 24/07/2012, 08:21
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Problemas con Build Form en Symfony 2

Hola masterpuppet. Gracias por tu respuesta.
Te cuento que estoy recien empezando con esto, y tengo entendido que declarando
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

importo las clases que necesito. ¿Puede ser?

GatorV, utilizando FormBuilderInterface no me funcionan los ruteos correctamente. Creo que debería usar FormBuilder porque este mismo llama a FormBuilderInterface y a otras clases más. Me marea un poco porque viene armado, pero me parece que con formBuilder es que debería hacerlo funcionar para tener disponibles todas las particularidades que ofrece... Sigo mareada con esto, pero insistiendo :)
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #11 (permalink)  
Antiguo 24/07/2012, 09:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con Build Form en Symfony 2

Es que los ruteos deberían ser cosas aparte, es forzoso que declares que los métodos sean del mismo tipo.

Primero declara que usas la interfaz y luego revisa lo de los ruteos porque ese es problema aparte, debes de apegarte a la firma del componente original.

Ahora, viendo en Google, parece ser un problema común y parece que el problema es que hubo un cambio que rompe, entre Symfony2 y Symfony2.1 ¿que versión estas usando?
  #12 (permalink)  
Antiguo 24/07/2012, 09:32
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Problemas con Build Form en Symfony 2

Gracias GatorV. Estoy usando la versión 2.1. Si tenés un link que hable de esas diferencias, te lo agradecería :) a ver si hay algo más que pueda llegar a fallarme, porque estoy siguiendo ejemplos (adaptados) de manuales, y podrían surgir algunos problemas más.

Por otra parte, tenías razón, utilizando la firma correspondiente funcionó, mi problema de armado de ruta estaba en otro lado. Ya me acostumbraré incluso a los mensajes de error que va tirando este nuevo amigo Symfony que por el momento me tiene a mal traer.
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #13 (permalink)  
Antiguo 24/07/2012, 09:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con Build Form en Symfony 2

No tengo un link a la mano, pero seguro en la web oficial de Symfony hay un changelog, realmente no uso Symfony2, soy usuario 100% de Zend
  #14 (permalink)  
Antiguo 24/07/2012, 09:44
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Problemas con Build Form en Symfony 2

:) Ok, muchas gracias de todos modos. Yo en realidad programo php sin frameworks, así que esto de no tener control de tantas cosas me es muy complicadamente novedoso. Aunque he de reconocer que agilizan bastante el desarrollo ;)

Saludos y gracias por tus respuestas, me ayudaron!!! :)
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #15 (permalink)  
Antiguo 08/08/2012, 08:32
Avatar de Smolky  
Fecha de Ingreso: mayo-2006
Ubicación: Cartagena
Mensajes: 177
Antigüedad: 17 años, 11 meses
Puntos: 14
Respuesta: Problemas con Build Form en Symfony 2

Hola. Creo que hay un cambio en la última versión de formularios

Échale un vistazo a este documento
https://github.com/symfony/symfony/b...UPGRADE-2.1.md

En la sección de formularios verás que indican que hay que cambiar un par de cosas. En mi caso bastó con añadir el USE y el cambio en la declaración del método de buildform

Código PHP:
use SymfonyComponentFormFormBuilderInterface;
public function 
buildForm(FormBuilderInterface $builder, array $options)
{
  ...

__________________
No hay cuerda desafinada sino músico progresivo

Etiquetas: formulario
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:03.