symfony2 un framework para maximizar tu productividad en desarrollo web

18
[1] [1] Twittea este evento con el hashtag #eventosiebs

Upload: iebschool

Post on 02-Jul-2015

156 views

Category:

Software


5 download

DESCRIPTION

Presentación del webinar “Symfony2: un framework para maximizar tu productividad en desarrollo web” impartido por Andrés Molina Orero en IEBS Business School. Más info aquí: http://open.iebschool.com/cursos/symfony-2-framework-maximizar-productividad-desarrollo-web/ Una gran parte de las funcionalidades y retos que plantea el desarrollo de una aplicación web son comunes de un proyecto a otro: la creación de un login de usuarios, la seguridad de la aplicación, los formularios o la persistencia de los datos. Estos casos comunes provocan grandes inversiones de desarrollo que podrían solucionarse trabajando con un framework. Symfony2 es un framework de PHP que permite centrarte en la lógica de tu negocio y te brinda numerosas herramientas para poner solución a los temas frecuentes de forma simple, ágil y robusta. Este framework de desarrollo web permite trabajar en diferentes formatos, usar componentes independientes, además de crear funcionalidades propias a través de los llamados bundles que son fácilmente reutilizables. En este curso de "Symfony 2: un framework para maximizar tu productividad en desarrollo web" aprenderás a crear un proyecto basado en Symfony2 desde cero; desde su instalación hasta la creación de bundles propios pasando por las utilidades de desarrollo más frecuentemente utilizadas.

TRANSCRIPT

Page 1: Symfony2 un framework para maximizar tu productividad en desarrollo web

[1]

[1]

Twittea este evento con el hashtag #eventosiebs

Page 2: Symfony2 un framework para maximizar tu productividad en desarrollo web

[2]

[2]

Twittea este evento con el hashtag #eventosiebs

Symfony2. Máxima productividad en desarrollo web

Page 3: Symfony2 un framework para maximizar tu productividad en desarrollo web

[3]

[3]

Twittea este evento con el hashtag #eventosiebs

Symfony2 – Requisitos previos

Tener conocimientos de los siguientes temas•HTML5•CSS / CSS3•PHP•Programación orientada a objetos (POO)

Page 4: Symfony2 un framework para maximizar tu productividad en desarrollo web

[4]

[4]

Twittea este evento con el hashtag #eventosiebs

Symfony2 - Objetivos

• Entender el comportamiento de Symfony2 basado en el patrón MVC.• Instalar un proyecto completo de Symfony2.• Crear rutas, controladores y vistas para desarrollar sitios web.• Crear entidades para la persistencia de datos en bases de datos MySQL.• Crear repositorios para extender la lógica de negocio de nuestro proyecto.• Crear formularios para la interación entre usuario y la aplicación.• Dotar a la aplicación de sistemas de seguridad sobre accesos y permisos

de los usuarios.• Insertar en nuestras aplicaciones bundles externos.

Page 5: Symfony2 un framework para maximizar tu productividad en desarrollo web

[5]

[5]

Twittea este evento con el hashtag #eventosiebs

Symfony2

• Es un framework basado en PHP• Responde al patrón Modelo – Vista – Controlador (MVC)• Está formado por muchos componentes independientes.• Podemos crear nuestros propios bundles.• Podemos instalar bundles externos.• Podemos trabajar en varios formatos.• Usa Doctrine como ORM.• Usa plantillas Twig.• Gestiona formularios, login, seguridad fácilmente desde configuración.

Page 6: Symfony2 un framework para maximizar tu productividad en desarrollo web

[6]

[6]

Twittea este evento con el hashtag #eventosiebs

Symfony2 - MVC

• El usuario hace una petición url. (http://www.....)• El controlador frontal busca en el Routing (archivo de rutas) cuál es el

controlador que se encargará de atender a esa petición y lo ejecuta.• El controlador genera la información necesaria para responder a la

petición y se lo pasa a la vista.• La vista renderiza toda la información y la muestra al usuario en su

navegador.

Page 7: Symfony2 un framework para maximizar tu productividad en desarrollo web

[7]

[7]

Twittea este evento con el hashtag #eventosiebs

• Podemos trabajar en distinto formatos como PHP, anotaciones, YAML, plantillas Twig

Symfony2 – Varios formatos

Page 8: Symfony2 un framework para maximizar tu productividad en desarrollo web

[8]

[8]

Twittea este evento con el hashtag #eventosiebs

Symfony2 - Routing

• Se establece un nombre de ruta, un patrón que debe cumplir esta y el controlador que se hará cargo de la petición.

# app/config/routing.yml

pagina_ayuda:

path: /ayuda

defaults: { _controller: OfertaBundle:Default:ayuda }

Page 9: Symfony2 un framework para maximizar tu productividad en desarrollo web

[9]

[9]

Twittea este evento con el hashtag #eventosiebs

Symfony - Bundles

• Los bundles son funcionalidades completas agrupadas en un mismo paquete

• Similar a los plugins de WordPress• Podemos configurar los nuestros propios o usar bundles externos que

sabemos funcionan correctamente• Existe abundante información sobre bundles que ya podemos incorporar

a nuestros proyectos así como la fiabilidad y mantenimiento de los mismos

Page 10: Symfony2 un framework para maximizar tu productividad en desarrollo web

[10]

[10]

Twittea este evento con el hashtag #eventosiebs

Symfony - Seguridad

• El framework gestiona el login de los usuarios (autenticación).• También gestiona los derechos de acceso de los usuarios (autorización)

Imagen del libro oficial

Page 11: Symfony2 un framework para maximizar tu productividad en desarrollo web

[11]

[11]

Twittea este evento con el hashtag #eventosiebs

Symfony - Formularios

• Symfony también lleva a cabo la gestión de formularios vinculando estos a los modelos que hayamos generado.

• Esto permite grabar los datos de forma fácil así como validarlos y obtener mensajes de error

Page 12: Symfony2 un framework para maximizar tu productividad en desarrollo web

[12]

[12]

Twittea este evento con el hashtag #eventosiebs

Symfony - Doctrine

• Doctrine no pertenece al proyecto Symfony. Es un componente externo.• Doctrine es un mapeador ORM que permite obtener los datos de una

base de datos relacional y los entrega como objetos.• También al contrario, partiendo de objetos, grabar la información en

bases de datos relacionales.• Permite crear la base de datos, las tablas y las modificaciones de estas

desde órdenes de consola sin tener que recurrir a phpMyAdmin• Gestiona las asociaciones existentes entre los objetos de nuestro modelo

a nivel de tablas.• Gestiona transacciones.

Page 13: Symfony2 un framework para maximizar tu productividad en desarrollo web

[13]

[13]

Twittea este evento con el hashtag #eventosiebs

Symfony - Modelo

• Creamos las clases que representan a los objetos de la aplicación.

• En estas mismas clases definimos la validación de los campos así como las relaciones que se establecen entre los objetos

Page 14: Symfony2 un framework para maximizar tu productividad en desarrollo web

[14]

[14]

Twittea este evento con el hashtag #eventosiebs

Symfony2 - Repositorios

• Cada clase del modelo tiene asociada su propia clase de repositorio.

• Esto permite mantener al modelo lo más simple posible.

• Los repositorios contienen la lógica de la aplicación y contienen los métodos necesarios para ello.

Page 15: Symfony2 un framework para maximizar tu productividad en desarrollo web

[15]

[15]

Twittea este evento con el hashtag #eventosiebs

Symfony - Plantillas

• Usa de Twig como motor para renderizar las plantillas

• Las plantillas pueden heredar unas de otras, lo que nos permite varios niveles de herencia

• Son fáciles de crear y mantener lo que no permite separar fácilmente diseño y modelo

• Podemos ejecutar directamente controladores

Page 16: Symfony2 un framework para maximizar tu productividad en desarrollo web

[16]

[16]

Twittea este evento con el hashtag #eventosiebs

Symfony - Productividad

• Resuelve fácilmente tareas rutinarias de cualquier aplicación como login, formularios, seguridad etc.

• Permite crear funcionalidades completas (bundles) que pueden ser reutilizadas en otras aplicaciones.

• Permite usar bundles de terceros sobre funcionalidades que ya están probadas.

• Permite la herencia en plantillas Twig facilitando el diseño de las páginas.• Resuelve fácilmente el tema la persistencia a bases de datos relacionales

desde objetos mediante el ORM Doctrine.• Permite realizar la instalación y mantener las dependencias entre los

componentes mediante Composer

Page 17: Symfony2 un framework para maximizar tu productividad en desarrollo web

[17]

[17]

Twittea este evento con el hashtag #eventosiebs

Symfony - Resumen

• Flexibilidad en la configuración ya que podemos usar (o no) todos sus componentes.

• Código fácilmente reutilizable mediante bundles propios y de terceros.• Diseño fácilmente adaptable mediante plantillas Twig.• Fácil configuración de la persistencia entre objetos y base de datos

mediante Doctrine.• Fácil configuración de la seguridad de la aplicación. Desde el login del

usuario hasta la acreditación de los mismo para acceder a según qué zonas de la aplicación

• Fácil configuración de la creación de formularios mediante asignación directa a una clase del modelo.

Page 18: Symfony2 un framework para maximizar tu productividad en desarrollo web

[18]

[18]

Twittea este evento con el hashtag #eventosiebs

¡Gracias!