Symfony Parte 8 Rodrigo Miranda [email_address] [email_address] http://www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Formularios
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Protección, agregar al comienzo de la acción que se desee proteger. </...
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Mensajes Flash
Rodrigo Miranda Blog: www.rodrigomiranda.cl Atributos Flash: 1.-  Es un valor temporal que se almacena en la sesión del us...
Rodrigo Miranda Blog: www.rodrigomiranda.cl En la acción: Configurar: Obtener:
Rodrigo Miranda Blog: www.rodrigomiranda.cl En la platilla:
Rodrigo Miranda Blog: www.rodrigomiranda.cl Creación Módulo Usuario
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Crear tipos de Usuarios </li></ul><ul><li>Para comenzar debemos crear ...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Crear módulo usuario </li></ul><ul><li>Creamos el módulo usuario con e...
Rodrigo Miranda Blog: www.rodrigomiranda.cl Probamos el Módulo en el navegador
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Mo dificando el módulo Usuario. </li></ul><ul><li>Traducimos el módulo...
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Mo dificando el módulo Usuario. </li></ul><ul><li>Referenciando sólo a...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Mo dificando el módulo de Usuarios. </li></ul><ul><li>Incorporando Men...
Rodrigo Miranda Blog: www.rodrigomiranda.cl Modificando Labels y tamaños de Campo en Formulario.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Modificando Columnas en Listado.
Rodrigo Miranda Blog: www.rodrigomiranda.cl Modificando Campos de template verSuccess.php
Rodrigo Miranda Blog: www.rodrigomiranda.cl Validación de Usuario
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfUser . </li></ul><ul><li>Para acceder a la sesión del usuario actual...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfUser . </li></ul><ul><li>En la sesión podemos guardar cualquier tipo...
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Algunas clases del núcleo de Symfony utilizan un contenedor de parámet...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Si utilizamos un tercer parámetro en un getter o en un setter, ese par...
Rodrigo Miranda Blog: www.rodrigomiranda.cl Crear el Módulo Login
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Crear módulo login </li></ul><ul><li>Creamos el módulo login con el si...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Módulo Login . </li></ul><ul><li>Encargado de mostrar la página de ing...
Rodrigo Miranda Blog: www.rodrigomiranda.cl Crear  pantalla de Ingreso
Rodrigo Miranda Blog: www.rodrigomiranda.cl Redireccionar Routing de la Aplicación
Rodrigo Miranda Blog: www.rodrigomiranda.cl Crear clase LoginForm
Rodrigo Miranda Blog: www.rodrigomiranda.cl Clase LoginForm
Rodrigo Miranda Blog: www.rodrigomiranda.cl Validadores Simples
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorString </li></ul><ul><li>Valida y convierte la cadena origi...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorRegex </li></ul><ul><li>Valida una cadena de texto en funci...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorEmail </li></ul><ul><li>Valida que una cadena tenga el form...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorInteger </li></ul><ul><li>Valida y convierte el valor origi...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorNumber </li></ul><ul><li>Valida y convierte el valor origin...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorBoolean </li></ul><ul><li>Valida un valor Booleano y devuel...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorChoice </li></ul><ul><li>Valida que el valor original perte...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorPass </li></ul><ul><li>Es un validador especial, ya que no ...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorCallback </li></ul><ul><li>Permite delegar la validación de...
Rodrigo Miranda Blog: www.rodrigomiranda.cl
Rodrigo Miranda Blog: www.rodrigomiranda.cl Validadores Globales
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>pre-validadores y post-validadores </li></ul><ul><li>Los validadores g...
Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Para trabajar los post-validator ocupamos la sgte sintaxis: </li></ul>...
Rodrigo Miranda Blog: www.rodrigomiranda.cl Preguntas?
Próxima SlideShare
Cargando en…5
×

Symfony parte 8

2.408 visualizaciones

Publicado el

Trabajando con formularios, y programando la entrada a la aplicación. Login y sesión de usuarios.

Publicado en: Tecnología
0 comentarios
2 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
2.408
En SlideShare
0
De insertados
0
Número de insertados
53
Acciones
Compartido
0
Descargas
8
Comentarios
0
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.
  • 1 – Observar que para crear el módulo Usuario, debemos crear los tipos de usuarios del sistema. Por lo mismo, vamos a crear el archivo de dato del sistema.
  • Traducimos el módulo a español. - Creamos un registro, y percatemonos que existen validaciones que hay que desarrollar.
  • - Campo Correo en la clase base es declarado como sfValidatorString() = sfValidatorEmail()
  • RECORDANDO.
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this-&gt;validatorSchema[&apos;correo&apos;] = new sfValidatorEmail(array(), array(&apos;required&apos;=&gt;&apos;Ingrese Correo&apos;, &apos;invalid&apos;=&gt;&apos;El correo es incorrecto&apos;));
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this-&gt;validatorSchema[&apos;correo&apos;] = new sfValidatorEmail(array(), array(&apos;required&apos;=&gt;&apos;Ingrese Correo&apos;, &apos;invalid&apos;=&gt;&apos;El correo es incorrecto&apos;));
  • Traducimos el módulo a español. - Creamos un registro, y percatemonos que existen validaciones que hay que desarrollar.
  • Enseñarles lo del listado &lt;?php echo $i + 1;?&gt;
  • Enseñarles lo del listado &lt;?php echo $i + 1;?&gt;
  • Enseñarles lo del listado &lt;?php echo $i + 1;?&gt;
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this-&gt;validatorSchema[&apos;correo&apos;] = new sfValidatorEmail(array(), array(&apos;required&apos;=&gt;&apos;Ingrese Correo&apos;, &apos;invalid&apos;=&gt;&apos;El correo es incorrecto&apos;));
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this-&gt;validatorSchema[&apos;correo&apos;] = new sfValidatorEmail(array(), array(&apos;required&apos;=&gt;&apos;Ingrese Correo&apos;, &apos;invalid&apos;=&gt;&apos;El correo es incorrecto&apos;));
  • Enseñarles lo del listado &lt;?php echo $i + 1;?&gt;
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this-&gt;validatorSchema[&apos;correo&apos;] = new sfValidatorEmail(array(), array(&apos;required&apos;=&gt;&apos;Ingrese Correo&apos;, &apos;invalid&apos;=&gt;&apos;El correo es incorrecto&apos;));
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this-&gt;validatorSchema[&apos;correo&apos;] = new sfValidatorEmail(array(), array(&apos;required&apos;=&gt;&apos;Ingrese Correo&apos;, &apos;invalid&apos;=&gt;&apos;El correo es incorrecto&apos;));
  • Enseñarles lo del listado &lt;?php echo $i + 1;?&gt;
  • - Campo Correo en la clase base es declarado como sfValidatorString() = sfValidatorEmail()
  • 2 campos: login y password y el botón enviar. - Redireccionar al routing a login/index - Borrar el this-&gt;forward que apunta al módulo por defecto en el módulo login.
  • Redireccionar el routing de la aplicación administrador al módulo login acción index.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Revisen las clases Bases.
  • Symfony parte 8

    1. 1. Symfony Parte 8 Rodrigo Miranda [email_address] [email_address] http://www.rodrigomiranda.cl
    2. 2. Rodrigo Miranda Blog: www.rodrigomiranda.cl Formularios
    3. 3. Rodrigo Miranda Blog: www.rodrigomiranda.cl
    4. 4. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Protección, agregar al comienzo de la acción que se desee proteger. </li></ul>
    5. 5. Rodrigo Miranda Blog: www.rodrigomiranda.cl
    6. 6. Rodrigo Miranda Blog: www.rodrigomiranda.cl
    7. 7. Rodrigo Miranda Blog: www.rodrigomiranda.cl Mensajes Flash
    8. 8. Rodrigo Miranda Blog: www.rodrigomiranda.cl Atributos Flash: 1.- Es un valor temporal que se almacena en la sesión del usuario y que se borra automáticamente después de la siguiente petición. 2.- Es la manera de pasar información desde la acción que recibe la petición a la acción a la cual redireccionamos (ejemplo, después de submitir y procesar un formulario).
    9. 9. Rodrigo Miranda Blog: www.rodrigomiranda.cl En la acción: Configurar: Obtener:
    10. 10. Rodrigo Miranda Blog: www.rodrigomiranda.cl En la platilla:
    11. 11. Rodrigo Miranda Blog: www.rodrigomiranda.cl Creación Módulo Usuario
    12. 12. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Crear tipos de Usuarios </li></ul><ul><li>Para comenzar debemos crear un archivo de datos para el Modelo TipoUsuario . </li></ul><ul><li>040_tipousuario.yml </li></ul>
    13. 13. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Crear módulo usuario </li></ul><ul><li>Creamos el módulo usuario con el siguiente comando. </li></ul>#./symfony propel:generate-module –whith-show administrador usuario Usuario
    14. 14. Rodrigo Miranda Blog: www.rodrigomiranda.cl Probamos el Módulo en el navegador
    15. 15. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Mo dificando el módulo Usuario. </li></ul><ul><li>Traducimos el módulo (acciones y nombre de templates) a español. </li></ul><ul><li>Cambiamos la validación de algunos campos en relación a la clase base BaseUsuarioForm. </li></ul>
    16. 16. Rodrigo Miranda Blog: www.rodrigomiranda.cl
    17. 17. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Mo dificando el módulo Usuario. </li></ul><ul><li>Referenciando sólo a un campo de la clase Base. </li></ul>
    18. 18. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Mo dificando el módulo de Usuarios. </li></ul><ul><li>Incorporando Mensajes sin alterar el validador. </li></ul><ul><li>$this -> validatorSchema [‘nombrecampo’ ]->setMessages(arregloAsociativo); </li></ul>
    19. 19. Rodrigo Miranda Blog: www.rodrigomiranda.cl Modificando Labels y tamaños de Campo en Formulario.
    20. 20. Rodrigo Miranda Blog: www.rodrigomiranda.cl Modificando Columnas en Listado.
    21. 21. Rodrigo Miranda Blog: www.rodrigomiranda.cl Modificando Campos de template verSuccess.php
    22. 22. Rodrigo Miranda Blog: www.rodrigomiranda.cl Validación de Usuario
    23. 23. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfUser . </li></ul><ul><li>Para acceder a la sesión del usuario actual se accede en la acción con el método getUser() , que es una instancia de la clase sfUser . </li></ul>
    24. 24. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfUser . </li></ul><ul><li>En la sesión podemos guardar cualquier tipo de información (cadena de texto, arrays, y arrays asociativos) pero no Objetos. </li></ul>
    25. 25. Rodrigo Miranda Blog: www.rodrigomiranda.cl
    26. 26. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Algunas clases del núcleo de Symfony utilizan un contenedor de parámetros que permite el uso de namespaces [gracias a la clase sfNamespacedParameterHolder ] </li></ul>
    27. 27. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Si utilizamos un tercer parámetro en un getter o en un setter, ese parámetro se utiliza como namespace . Por lo tanto el parámetro sólo está definido dentro de ese namespace . </li></ul>
    28. 28. Rodrigo Miranda Blog: www.rodrigomiranda.cl Crear el Módulo Login
    29. 29. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Crear módulo login </li></ul><ul><li>Creamos el módulo login con el siguiente comando. </li></ul>#./symfony generate:module administrador login
    30. 30. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Módulo Login . </li></ul><ul><li>Encargado de mostrar la página de ingreso al sistema. </li></ul><ul><li>Crear la sesión del Usuario. </li></ul><ul><li>Cerrar la sesión del Usuario. </li></ul>
    31. 31. Rodrigo Miranda Blog: www.rodrigomiranda.cl Crear pantalla de Ingreso
    32. 32. Rodrigo Miranda Blog: www.rodrigomiranda.cl Redireccionar Routing de la Aplicación
    33. 33. Rodrigo Miranda Blog: www.rodrigomiranda.cl Crear clase LoginForm
    34. 34. Rodrigo Miranda Blog: www.rodrigomiranda.cl Clase LoginForm
    35. 35. Rodrigo Miranda Blog: www.rodrigomiranda.cl Validadores Simples
    36. 36. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorString </li></ul><ul><li>Valida y convierte la cadena original en una cadena de texto. </li></ul>
    37. 37. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorRegex </li></ul><ul><li>Valida una cadena de texto en función de una expresión regular. </li></ul>
    38. 38. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorEmail </li></ul><ul><li>Valida que una cadena tenga el formato correcto de una dirección de email (hereda de la clase sfValidatorRegex). </li></ul>
    39. 39. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorInteger </li></ul><ul><li>Valida y convierte el valor original en un número entero. </li></ul>
    40. 40. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorNumber </li></ul><ul><li>Valida y convierte el valor original en un número. </li></ul>
    41. 41. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorBoolean </li></ul><ul><li>Valida un valor Booleano y devuelve true o false. </li></ul>
    42. 42. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorChoice </li></ul><ul><li>Valida que el valor original pertenezca a una lista de valores esperados. </li></ul>
    43. 43. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorPass </li></ul><ul><li>Es un validador especial, ya que no realiza validación  y que simplemente devuelve el valor original intacto. </li></ul>
    44. 44. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>sfValidatorCallback </li></ul><ul><li>Permite delegar la validación del valor original al código PHP ejecutable indicado, también llamado callback. </li></ul>
    45. 45. Rodrigo Miranda Blog: www.rodrigomiranda.cl
    46. 46. Rodrigo Miranda Blog: www.rodrigomiranda.cl Validadores Globales
    47. 47. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>pre-validadores y post-validadores </li></ul><ul><li>Los validadores globales se utilizan antes o después de la validación de los campos de un formulario. Generalmente se utiliza en post-validator ya que los datos están validados y limpios. </li></ul>
    48. 48. Rodrigo Miranda Blog: www.rodrigomiranda.cl <ul><li>Para trabajar los post-validator ocupamos la sgte sintaxis: </li></ul><ul><li>$this -> validatorSchema ->setPostValidator( VALIDADOR ); </li></ul>
    49. 49. Rodrigo Miranda Blog: www.rodrigomiranda.cl Preguntas?

    ×