Symfony parte 8

2,296
-1

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,296
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • 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->validatorSchema['correo'] = new sfValidatorEmail(array(), array('required'=>'Ingrese Correo', 'invalid'=>'El correo es incorrecto'));
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this->validatorSchema['correo'] = new sfValidatorEmail(array(), array('required'=>'Ingrese Correo', 'invalid'=>'El correo es incorrecto'));
  • Traducimos el módulo a español. - Creamos un registro, y percatemonos que existen validaciones que hay que desarrollar.
  • Enseñarles lo del listado <?php echo $i + 1;?>
  • Enseñarles lo del listado <?php echo $i + 1;?>
  • Enseñarles lo del listado <?php echo $i + 1;?>
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this->validatorSchema['correo'] = new sfValidatorEmail(array(), array('required'=>'Ingrese Correo', 'invalid'=>'El correo es incorrecto'));
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this->validatorSchema['correo'] = new sfValidatorEmail(array(), array('required'=>'Ingrese Correo', 'invalid'=>'El correo es incorrecto'));
  • Enseñarles lo del listado <?php echo $i + 1;?>
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this->validatorSchema['correo'] = new sfValidatorEmail(array(), array('required'=>'Ingrese Correo', 'invalid'=>'El correo es incorrecto'));
  • El validatorSchema[‘correo’] = new sfValidatorEmail() $this->validatorSchema['correo'] = new sfValidatorEmail(array(), array('required'=>'Ingrese Correo', 'invalid'=>'El correo es incorrecto'));
  • Enseñarles lo del listado <?php echo $i + 1;?>
  • - 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->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?

    ×