Adentrándonos al Framework Symfony

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Adentrándonos al Framework Symfony - Presentation Transcript

    1. Framework de desarrollo Symfony Rodrigo Miranda rmiranda@poodu.cl http://www.rodrigomiranda.cl
    2. Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP
    3. Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
      • Herramientas a Instalar:
      • Sistema Operativo, para este caso Linux.
          • Linux
          • Windows
          • OS X
          • etc.
    4. Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
      • Herramientas a Instalar:
      • Servidor Web Apache 2.x o superior.
          • fedora, CentOS, RedHat:
          • Ubuntu
      # yum install httpd # apt-get install apache2
    5. Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
      • Herramientas a Instalar:
      • Motor Base de Datos MySQL 5.x o superior
          • fedora, CentOS, RedHat:
          • Ubuntu
      # yum install mysql mysql-server mysql-libs # apt-get install mysql-server mysql-client
    6. Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
      • Herramientas a Instalar:
      • Lenguaje PHP 5.2.4 o superior
          • fedora, CentOS, RedHat:
          • Ubuntu
      # yum install php php-cli php-gd php-mysql php-pear # apt-get install php5 php5-cli php5-gd php5-mysql php php-pear
    7. Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
      • Herramientas a Instalar:
      • Instalación phpMyAdmin.
          • fedora, CentOS, RedHat
          • Ubuntu
      # Descargar última versión del sitio: http://www.phpmyadmin.net y descomprimir en directorio web: /var/www/html (este comando no funciona ;-) ) # apt-get install phpmyadmin
    8. Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
      • Librerías o Extensiones:
      • PDO (PHP Data Objects): Permite acceder a distintas base de datos utilizando las mismas funciones, facilitando la portabilidad.
    9. Rodrigo Miranda Blog: www.rodrigomiranda.cl Levantamiento Plataforma LAMP (Linux, Apache, MySQL y PHP)
      • Librerías o Extensiones:
      • PHP-XML PHP-XMLRPC.
    10. Rodrigo Miranda Blog: www.rodrigomiranda.cl Adentrándonos en Symfony
    11. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Qué es Symfony?
      • Framewok para el desarrollo de aplicaciones web con PHP.
    12. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Qué es un Framework?
      • Framewok es una estructura de soporte definida, mediante la cual otro proyecto de software puede ser organizado y desarrollado.
      • Entrega soporte de herramientas y extensiones y los une para el beneficio del desarrollador.
      • Propone una metodología de Desarrollo.
    13. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Principal Característica?
      • Facilitan el desarrollo de software, permitiendo a los diseñadores y programadores pasar más tiempo identificando requerimientos y buscando eficiencia, que preocupados de los detalles de bajo nivel que hoy en día no se justifican en la gran mayoría de los proyectos Web.
      • Encapsula operaciones complejas en instrucciones sencillas.
    14. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Característica de Symfony
      • Bastante tutoriales y documentación de talleres y casos prácticos.
      • Documentación traducida a muchos idiomas, por ende, la comunidad sigue creciendo de manera exponencial.
      • Mantenido por la interesante combinación comunidad + empresa (Comunidad desarrolladores + Sensio).
    15. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Tabla de Rendimiento
      ítems PHP Frameworks Productividad Calidad programación Mantenimiento Rendimiento Aplicación
    16. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Curva Aprendizaje / Eficiencia
      • Symfony tiene una curva de aprendizaje altísima. Pero eso no es malo, dado que su curva de eficiencia y producción es directamente proporcional.
    17. Rodrigo Miranda Blog: www.rodrigomiranda.cl Quiénes utilizan Symfony
    18. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Requerimientos
      • Sistemas Operativos: Linux, OS X, Windows, etc.
    19. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Quiénes utilizan Symfony
      • Más de 200 millones de personas en todo el mundo utilizan aplicaciones construidas con Symfony.
      • Listado de aplicaciones:
      • http://trac.symfony-project.org/wiki/ApplicationsDevelopedWithSymfony
    20. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Requerimientos
      • Servidor Web: Apache o IIS.
    21. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Requerimientos
      • Servidor Base de Datos: MySQL, PostgreSQL, etc.
    22. Rodrigo Miranda Blog: www.rodrigomiranda.cl Inducción Framework Symfony
      • Requerimientos
      • Lenguaje Programación PHP 5.2.4 o superior.
    23. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
    24. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Arquitectura
      • Symfony al igual que otros Frameworks de Desarrollo, se basa en el diseño web a tres Capas MVC .
    25. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Arquitectura MVC
      • Modelo: Representa la información con la que trabaja la aplicación, resolviendo la lógica de negocio y el acceso a los datos.
      • Vista: Transforma el modelo en una página web, encargándose de la presentación visual de los datos.
      • Controlador: Se encarga de procesar las peticiones del usuario, de decidir cual es la acción que se ejecutará a continuación de realizar los cambios en la vista y en el modelo.
    26. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Arquitectura MVC y Flujo de petición
    27. Rodrigo Miranda Blog: www.rodrigomiranda.cl Implementación MVC Symfony
    28. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Arquitectura MVC Symfony
      • Modelo: Se subdivide en la capa de acceso a los datos y en la capa de abstracción de la base de datos. De esta forma, las funciones que acceden a los datos no utilizan sentencias ni consultas que dependen de una base de datos, sino que utilizan otras funciones para realizar consultas. Así si se cambia de base de datos solamente es necesario actualizar la capa de abstracción.
    29. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Arquitectura MVC Symfony
      • Modelo: En la capa del modelo trabajamos junto a un componente muy importante, el llamado traductor.
    30. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Arquitectura MVC Symfony
      • ORM (Object-relational mapping)
      • Las bases de datos siguen una estructura relacional. PHP 5 y Symfony por el contrario son orientados a objetos. Por este motivo, para acceder a la base de datos como si fuera orientada a objetos, es necesario una interfaz que traduzca la lógica de los objetos a la lógica relacional (mapeo de objetos a base de datos).
    31. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Arquitectura MVC Symfony
      • Vista: La capa de presentación de los datos, puede ser objeto de subdivisión grafica ya que siempre en ellas hay zonas que se repiten, ejemplo: Header o Footer (pueden formar parte de layout).
    32. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Arquitectura MVC Symfony
      • Controlador: Del controlador depende mucho trabajo, entre sus labores encontramos:
      • Manejo de las peticiones del usuario.
      • Manejo de la seguridad.
      • Cargar la configuración de la aplicación.
      • Ser el intermediario por donde pasan todas las conversaciones - desde y hacia - todas las otras capas.
    33. Rodrigo Miranda Blog: www.rodrigomiranda.cl Observando a Symfony
      • Flujo de Trabajo Symfony.
    34. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
    35. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
      • Alternativa de Instalación
      • 1. Entorno de prueba:
      • Es un proyecto vacío de Symfony que incluye librerías necesarias como: (Symfony, lime, Prototype con Scriptaculous, Doctrine y Propel con Phing).
    36. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
      • Entorno de prueba:
      • Para instalar el entorno de pruebas, se debe descargar su archivo comprimido desde
      • http://www.symfony-project.org/get/sf_sandbox_1_2.tgz
      • A continuación, se descomprime su contenido en el directorio raíz del servidor web.
    37. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
      • Verificar entorno de prueba:
      • Para comprobar que se ha realizado correctamente la instalación del entorno de pruebas ejecuta el primer comando de symfony
      • El resultado del comando debería ser parecido:
      # symfony -V # symfony version x.x.x (/ruta/hasta/el/directorio/lib/dir/utilizado/por/el/entorno/de/pruebas)
    38. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
      • Verificar entorno de prueba:
      • Lo siguiente es acceder al entorno de pruebas mediante la siguiente URL:
      • http://localhost/sf_sandbox/web/frontend_dev.php
    39. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
      • Si todo ha ido bien, deberías ver:
    40. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación entorno de prueba Symfony
      • Para qué nos servirá el entorno de prueba…
      • El entorno de prueba está pensado para que se practique con Symfony en un servidor local, no para desarrollar aplicaciones complejas.
      • Nos servirá para conocer el esqueleto de este Framework antes de comenzar a desarrollar sobre él.
    41. Rodrigo Miranda Blog: www.rodrigomiranda.cl
      • Alternativa de Instalación
      • 2. Instalación Symfony con PEAR:
      • El paquete PEAR de Symfony incluye las librerías propias de Symfony y todas sus dependencias. Además, también contiene un script que permite extender la línea de comandos.
    42. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación Symfony con PEAR
      • Instalación Symfony con PEAR:
      • Para instalar Symfony de esta manera, en primer lugar se debe añadir el canal Symfony PEAR:
      • Para comprobar librerías disponibles en ese canal:
      # pear channel-discover pear.symfony-project.com # pear remote-list –c symfony
    43. Rodrigo Miranda Blog: www.rodrigomiranda.cl Finalmente, una vez añadido el canal, ya es posible instalar la última versión estable: Instalación Symfony con PEAR # pear install symfony/symfony downloading symfony-x.x.x.tgz ... Starting to download symfony-1.x.x.tgz (2,700,635 bytes) ................................................................. ................................................................. .............done: 2,700,635 bytes install ok: channel://pear.symfony-project.com/symfony-x.x.x
    44. Rodrigo Miranda Blog: www.rodrigomiranda.cl Para verificar que se ha instalado correctamente utilizando la alternativa PEAR: Instalación Symfony con PEAR # symfony –V symfony version x.x.x (/ruta/hasta/el/directorio/lib/de/symfony/en/pear)
    45. Rodrigo Miranda Blog: www.rodrigomiranda.cl
      • Las librerías de instalación, se encuentran:
      • $php_dir/symfony/ contiene las principales librerías.
      • $data_dir/symfony/ contiene los archivos web que utilizan por defecto los módulos de symfony.
      • $doc_dir/symfony/ contiene la documentación.
      • $test_dir/symfony/ contiene las pruebas unitarias y funcionales de Symfony.
      Instalación Symfony con PEAR
    46. Rodrigo Miranda Blog: www.rodrigomiranda.cl Las variables que acaban en _dir se definen en la configuración de PEAR. Para ver sus valores puedes ejecutar el siguiente comando: Instalación Symfony con PEAR # pear config-show
    47. Rodrigo Miranda Blog: www.rodrigomiranda.cl
      • Alternativa de Instalación
      • 2. Instalación mediante SVN (Subversión)
      • Esta opción es recomendada para desarrolladores más avanzados. Es el método con el que pueden obtener los últimos parches, pueden añadir sus propias características al framework y pueden colaborar con el proyecto Symfony.
    48. Rodrigo Miranda Blog: www.rodrigomiranda.cl El listado de las versiones lo puedes encontrar en la siguiente URL: http://svn.symfony-project.com/tags/ El release a descargar para producción, debe considerar siempre la última versión ESTABLE. Instalación de Symfony mediante Subversión
    49. Rodrigo Miranda Blog: www.rodrigomiranda.cl Instalación de Symfony mediante Subversión
      • Si no tienes instalado Subversion, es hora de hacerlo .
          • fedora, CentOS, RedHat:
          • Ubuntu
      # yum install subversion # apt-get install subversion
    50. Rodrigo Miranda Blog: www.rodrigomiranda.cl Recomendamos crear un directorio que pueda contener más de una versión de Symfony. Este no debe ser accesible desde un navegador. Instalación de Symfony mediante Subversión # mkdir –p /versiones-symfony/symfonyx_x_x/ # cd /versiones-symfony/symfonyx_x_x # svn co http://svn.symfony-project.com/tags/RELEASE_x_x_x/ .
    51. Rodrigo Miranda Blog: www.rodrigomiranda.cl Comprobando requerimientos de Sistema
    52. Rodrigo Miranda Blog: www.rodrigomiranda.cl Comprobando requerimiento de Sistema Ingresar al directorio bin de la instalación Symfony: Ejecutar script check_configurarion: # cd /versiones-symfony/symfonyx_x_x/data/bin # php check_configuration.php
    53. Rodrigo Miranda Blog: www.rodrigomiranda.cl El comando de symfony -V, para el caso de la instalación por Subversión, lo podremos ejecutar de la siguiente manera: o resultado: Instalación de Symfony mediante Subversión # php /versiones-symfony/symfonyx_x_x/data/bin/symfony –V # /versiones-symfony/symfonyx_x_x/data/bin/./symfony –V # symfony version x.x.x (/versiones-symfony/symfonyx_x_x/lib)
    54. Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo Symfony
    55. Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo
      • Si has utilizado PEAR:
      • Si has utilizado Subversión:
      • o
      # symfony generate:project miproyecto # php /versiones-symfony/symfonyx_x_x/data/bin/symfony generate:project miproyecto # /versiones-symfony/symfonyx_x_x/data/bin/./symfony generate:project miproyecto # mkdir /directorio/web/miproyecto # cd /directorio/web/miproyecto
    56. Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo Recomendamos: La tarea generate:project añade un script llamado symfony en el directorio raíz del proyecto. Este script es idéntico al comando symfony creado por PEAR, por lo que de ahora en adelante se puede seguir utilizando, acortando con eso las líneas de comandos. # cd /directorio/web/miproyecto # ./symfony -V
    57. Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo Que contiene el script Symfony Si editamos el archivo symfony creado por la tarea generate:project. Encontramos la siguiente línea: # cd /directorio/web/miproyecto # vim symfony ……… require_once(dirname(__FILE__).’/config/ProjectConfiguration.class.php’); ……… ..
    58. Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo ProjectConfiguration.class.php: Si editamos este archivo. Encontramos la siguiente línea que apunta a la instalación de Symfony. Por lo tanto, si alguna vez lo requieres, sólo debes cambiar esta ruta para que nuestro proyecto ocupe otra versión de symfony. # cd /directorio/web/miproyecto/config # vim ProjectConfiguration.class.php ……… require_once ‘ /versiones-symfony/symfonyx_x_x/ lib/autoload/sfCoreAutolad.class.php; ……… ..
    59. Rodrigo Miranda Blog: www.rodrigomiranda.cl Creando un proyecto de Ejemplo Si realizaste el cambio anterior (path o ruta) para una nueva versión de Symfony, no olvides borrar la caché del proyecto, desde su raíz # symfony cc # cd /directorio/web/miproyecto
    60. Rodrigo Miranda Blog: www.rodrigomiranda.cl Preguntas?
    SlideShare Zeitgeist 2009

    + Rodrigo MirandaRodrigo Miranda Nominate

    custom

    377 views, 0 favs, 2 embeds more stats

    1ra Unidad de inducción a Symfony. Los primeros pa more

    More info about this document

    CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

    Go to text version

    • Total Views 377
      • 339 on SlideShare
      • 38 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 5
    Most viewed embeds
    • 34 views on http://gestion.poodu.cl
    • 4 views on http://www.rodrigomiranda.cl

    more

    All embeds
    • 34 views on http://gestion.poodu.cl
    • 4 views on http://www.rodrigomiranda.cl

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags