El verdadero rico no es el que tiene mucho dinero sino el que tiene tiempo para estar con la gente que quiere y hacer lo que le gusta.

Formularios en Symfony 2

Formularios en Symfony 2

Publicado el 4 noviembre, 2015 por | Categoría:

Trabajar con formularios es una de las tareas mas comunes dentro de una aplicación web y para ello Symfony viene integrado con el Form Component que es justamente un componente que nos será bastante útil para crear formularios de manera muy fácil. Este Form Component es una biblioteca independiente que se puede utilizar fuera de los proyectos desarrollados en Symfony así es que puedes también implementarlos en proyectos que no requieran de todo el framework.

En esta nueva lección del curso de Symfony 2 vamos aprender desde cero a crear nuestros propios formularios y para ello vamos a seguir trabajando en nuestro proyecto de asignaciones y en concreto el módulo de usuarios. Para poner en practica la creación y manejo de formularios vamos a desarrollar la funcionalidad para agregar nuevos usuarios dentro de nuestra aplicación implementando también la persistencia de los datos con Doctrine. Dentro de la terminal y con la ayuda de un comando vamos a crear una clase UserType el cual determinará cada uno de los campos que contendrá nuestro formulario. Adicionalmente vamos a conocer el concepto Lifecycle Callbacks para trabajar con eventos y manipular los campos de fechas al momento de persistir los datos de cada uno de los usuarios. Finalmente vamos aprender a encriptar las contraseñas de los usuarios en base al algoritmo bcrypt que implementa el sistema de seguridad de Symfony.

Sin más te dejo con el video donde te hablo de todo lo mencionado anteriormente y otras características más puestas a la práctica:

Ahora dime tu, qué te pareció el trabajo con formularios en Symfony? al principio puede aparentar ser un proceso relativamente largo con la creación de archivos independientes que manejen los formularios pero la potencialidad de trabajarlo de esa manera lo puedes apreciar de mejor forma cuando el proyecto en el que estas trabajando va creciendo y la misma flexibilidad y modularidad que implementa el framework va mantener tu código mucho mas ordenado. Quisiera por favor que me cuentes acá abajo en la caja de comentarios la experiencia que tuviste con esta lección de verdad que me gustaría saberlo y si esta lección te pareció interesante no dudes en compartirlo en las redes sociales. Como siempre al final de la lección te dejo el enlace al repositorio oficial del curso para que así vayas siguiendo todos los avances y cambios que se realice a lo largo del curso 8-)

Sigue todas las lecciones del curso AQUÍ.

Saludos!!!

firma emm

 


Repositorio oficial

Por favor comparte esta lección:

¿Te gustó el artículo? ¡Suscríbete ahora mismo!

Recibe mis últimos artículos, recursos, tutoriales y mucho más.

,

Comentarios

  • Roberto Martín

    Buenas tardes Edson, mi nombre es Roberto Martín y estou siguiendo el curso de Symfony 2. y concretamente en este caípulo me lanza el suiguiente error cuando quiero ir a la página /user/create

    “Expected argument of type “string”, “RMPUserBundleFormUserType” given 500 Internal Server Error – UnexpectedTypeException”

    ¿Sabrías indicarme?

    Por cierto, muy buen tutorial!!!!

    • Edson

      Hola Roberto, puede existir la posibilidad de que algo ande mal en la creación del formulario, revisaste el repositorio del proyecto que comparto a final de la lección? . Disculpa el retraso en responder, lo que pasa es que actualmente estoy pasando por un fuerte resfrio. Saludos!

      • gicu

        a mi me pasa lo mismo…. no sera porque es symfony 3?

  • Lucas

    Edson, tu tutorial es de calidad, muchas gracias por dedicar tu tiempo a enseñar, tengo el mismo problema de Expected argument of type “string”, “LCUserBundleFormUserType” given y no encuentro la solucion, tambien estoy usando Symfony 3.0.2 … Agradeceré mucho tu ayuda ya que estoy estancado ahi. Saludos

    • Edson

      Hola Lucas, hubo unos leves cambios en la creación del formulario para la versión 3.x del framework revisaste ese apartado en la documentación? http://symfony.com/doc/current/book/forms.html#building-the-form Saludos (Ya respondí también tu comentario en YouTube)

      • Lucas

        Lei la documentacion de Symfony y no encuentro el error, alguna idea ?? Muchas gracias Edson

      • Alvaro Andres Lagarde

        Hola Edson, estoy con el mismo problema he leido la documentacion pero no encuentro el error. me podrias ayudar como es? muchas gracias.

  • Lucas

    Edson, ya lei la Documentacion de symfony y no encuentro la solucion, me darias una mano con esto por favor ?? Muchas gracias.

  • Raphael Mathias

    Hola Edson,

    Soy brasileño. Estoy disfrutando mucho de su curso; Felicidades por la iniciativa de haber creado este curso.

    Llegué a esta clase y ha dado el siguiente error: “Aviso: El objeto de la clase Doctrine ORM EntityManager No se pudo convertir a int.”

    No he podido encontrar dónde está el error, si usted me puede ayudar muchas gracias.

    ASAP Lo siento por la traducción.

    ¡Un fuerte abrazo!

    _______________________________________________________________________________________________

    Olá Edson,

    Eu sou brasileiro. Estou gostando muito do seu curso; parabéns pela iniciativa em ter criado esse curso.

    Eu cheguei nesta aula e tem dado o seguinte erro: “Notice: Object of class DoctrineORMEntityManager could not be converted to int”.

    Não consegui encontrar onde está o erro, se puder me ajudar agradeço muito.

    Asap Desculpe pela tradução.

    Um forte abraço!

    • Edson

      Hola Raphael, eso te sucede al crear la entidad? o al crear un nuevo registro? si es por lo último mencionado puedes apoyarte del repositorio del proyecto en GitHub que comparto al final de la lección. Saludos.

  • Isidro M

    Hola Edson,
    Estoy siguiendo tu curso pero intentando adaptarlo a Symfony 3, y aunque he puesto en la clase User los metodos para que se inserte la fecha automáticamente no funciona. Me sigue indicando que los campos created_at y updated_at no pueden ser null

  • ktapunk

    Hola Edson, tengo una duda… como pongo la zona horaria del DateTime() ya que lo deja en horario UTC por defecto, y necesito UTC-3

    Gracias!!!

  • Sabrina

    Hola Edson, estoy por este video y seguí los pasos uno por uno. Pero igualmente me da un error, cuando quiero codificar el password, me dice que no sabe que hacer con la palabra “encoders” Sabes porque puede ser? Te copio el error textual:

    There
    is no extension able to load the configuration for “encoders” (in
    /var/www/html/asignaciones/app/config/security.yml). Looked for
    namespace “encoders”, found “framework”, “security”, “twig”, “monolog”,
    “swiftmailer”, “assetic”, “doctrine”, “sensio_framework_extra”,
    “emm_user”, “debug”, “web_profiler”, “sensio_distribution” in
    /var/www/html/asignaciones/app/config/security.yml (which is being
    imported from “/var/www/html/asignaciones/app/config/config.yml”).

    Gracias!!!

    • Edson

      Hola Sabrina, revisa el archivo security.yml si tienes configurado la sentencia encoders tal como lo hice en el tutorial. Saludos.

  • Sabrina

    Ya encontre el conflicto!!! Te lo escribo para tener en cuenta:

    En security.yml cuando se pone el código:

    encoders:
    EMMUserBundleEntityUser:
    algorithm: bcrypt
    cost: 12

    Hay que ponerlo con el mismo margen que tiene “firewalls” si se pone al principio sin margen, como lo habia hecho yo, no lo toma como que está dentro de security: y da el error que antes te comente.

    Saludos y sigo con los videos.

    • Edson

      exacto a eso me refería . Saludos.