Presentacion

download Presentacion

If you can't read please download the document

Transcript of Presentacion

  • 1. Introduccion a Symfony

2. Indice

  • Introduccion

3. Patron MVC 4. Algunos frameworks para PHP 5. Controlador 6. Doctrine 7. Formularios 8. Crear proyecto symfony 9. Generar modulo de administracion 10. Introduccin La evolucion de crear webs

  • Paginas estaticas

11. Paginas dinamicas de lado del cliente 12. Paginas dinamicas en el servidor

  • Se crean scripts que acceden a bases de datos y generan el html

13. Todo, o casi todo se realiza en un unico archivo 14. Mezcla roles 15. Inmantenible 16. Introduccion El problema

  • Tenemos desarolladas unas funcionalidades

17. Cliente pide cambios funcionales y visualas 18. Problema: todo esta mezclado y resulta dificil ver donde esta que cosa 19. Solucin:

  • Separar tareas: lgica de negocio(funcionalidades) de la presentacion

20. Patron MVC 21. Patron MVC Consta de 3 partes:

  • Modelo: Representa lgica de negocio

22. Vista: Presentacion de los datos 23. Controlador: Intercepta acciones del usuarios 24. Algunos frameworks PHP

  • Mojavi

25. Prado 26. CakePHP 27. CodeIngiter 28. Kohana 29. Lithium 30. Zend Framework 31. Symfony 32. Controlador

  • Intercepta llamadas del usuario

33. Instancia el modelo necesario 34. Llama al metodo del modelo que ejecuta la logica de negocio necesaria 35. Llama a la vista pasandole los datos devueltos del modelo 36. Controlador Codigo controlador symfony 37. Doctrine Que es doctrine?

  • ORM

38. Nos abstrae del modelo relacional 39. Mapea registro de la base de datos a objetos y viceversa 40. Tiene lenguaje de consultas DQL parecido a SQL 41. ORM usado en symfony 42. Doctrine Definir modelo en doctrine

  • Codificando a pelo en el codigo

43. Mediante archivo de configuracion YML 44. Genera codigo php 45. Doctrine Definicion de modelo mediante codigo codigo 46. Doctrine Definicion de modelo mediante yml 47. Doctrine Operaciones:

  • Insertar:

48. $user = new User(); $user->setName('usuario'); $user->setPassword('clave'); $user->save();

  • Actualizar:

$userTable = new Doctrine_Table('User'); $user = $userTable->find(1); $user->setPassword('clavenueva'); $user->save(); 49. Doctrine

  • Eliminar:

$userTable = new Doctrine_Table('User'); $user = $userTable->find(1);$user->delete();

  • Obtener tweets:

$user->getTweets(); 50. Formulario

  • Symfony tiene framework formularios

51. Permiter definir partes del formulario en clase 52. Permite especificar validaciones 53. Obeter valores enviados 54. Renderizar formulario con valores enviados y errores inclusive 55. Formularios Definir componenentes del formulario 56. Formularios Definir validaciones 57. Formularios Procesar formulario 58. Formularios Renderizar formulario 59. Crear proyecto symfony

  • Creamos un directorio del proyecto

60. Descargamos las librerias 61. Descomprimimos las librerias $ mkdir -p lib/vendor $ cd lib/vendor $ tar zxpf symfony-1.4.0.tgz $ mv symfony-1.4.0 symfony $ rm symfony-1.4.0.tgz

  • Crear Proyecto

$ cd ../.. $ phplib/vendor/symfony/data/bin/symfony generate:project nombre_proyecto 62. Crear proyecto symfony Estructura de arbol de directorio del proyecto 63. Crear proyecto symfony

  • Crear una aplicacion en el proyecto

64. $ php symfony generate:app frontend 65. Crear modulos en una aplicacion 66. $ php symfony generate:modulefrontendnombre_modulo 67. Crear proyecto symfony Configurar apache 68. Generar modulo deadministracion

  • Uno de los puntos que ms adeptos atrae a estre framwork

69. Genera operaciones CRUD

  • Creacion

70. Recuperacion 71. Actualizacion (Update) 72. Eliminacion (Delete) Altamente configurable 73. Generar modulo deadministracion

  • Configuramos la base de datos

$ php symfony configure:database "mysql:host=localhost;dbname=nombre" usuario contrasea

  • Generamos los modelos y formularios a partir de la definicion del modelo en yml

$ php symfony doctrine:build --all -no-confirmation

  • Generar modulo de administracion

$ php symfony doctrine:generate frontend Tweet -module=tweets $ php symfony plugin:publish-assets 74. Agradecimientos

  • Asistentes a la charla

75. Maravillosa organizacin de la kutruparty y auslae