desarrollo de aplicaciones web con symfony 5/10/2011

Post on 29-Nov-2014

514 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentacion en el LUGRo (Grupo de usuarios de Software Libre Rosario) sobre symfony 1.4: http://www.lugro.org.ar/CCTP_Desarrollo_de_Aplicaciones_Web_con_Symfony

TRANSCRIPT

Desarrollo de aplicaciones web con symfony

Matias MontenegroLuciano Andrade

¿Que es symfony?

 

¿Que es symfony?

●Un Framework de Trabajo○Herramientas○  Metodología

●Escrito en PHP●Licencia MIT  ●Es un Filosofía●Es una Comunidad

 

¿Que no es symfony?

 

¿Que no es symfony?

●No es una solución genérica○PHP funciona muy bien

●No es trivial○Es fácil de aprender y hay mucha documentación

¿Que tiene de bueno?

 

¿Que tiene de bueno?

●Popularidad y tamaño de la comunidad○# Plugins○# Libros

●  Filosofía

¿Que empresas lo utilizan?

 

¿Que empresas lo utilizan?

http://symfony.com/blog/category/case-studies

Casos de Estudio : ●DailyMotion●Yahoo Bookmark●Delicious●Yahoo Answers

¿Cuando utilizar symfony?

 

¿Cuando utilizar symfony?

●Proyecto Web. ●Proyecto de largo alcance ●Equipos de trabajo●Complejidad del Proyecto Media o Grande

Que contiene symfony

 

Que contiene symfony

●Patrones de diseño●MVC●ORM●Plantillas ●Rutas ●Entornos●Plugins, muchos plugins

Patrones de Diseño

 

Patrones de Diseño

●Front Controller●Command● Intercepting Filter●Context Object●Two Step View●Helper Object or View Helper●Table Data Gateway/Row Data Gateway/Active Record●Single Table Inheritance ●Event Dispatcher ●Factory●Singleton

http://obvioushints.blogspot.com/2008/12/symfony-design-patterns.html

Estructura de un proyecto● apps/ 

○ frontend/ ○ backend/ 

● cache/ ● config/ ● data/ 

○ sql/ ● doc/ ● lib/ ● model/ ● log/ ● plugins/ ● test/ 

○ bootstrap/ ○ unit/ ○ functional/ 

● web/ ○ css/ ○ images/ ○ js/ ○ uploads/

Estructura de un proyecto● apps/ 

○ [application name]/ ■ config/ ■ i18n/ ■ lib/ ■ modules/ ■ templates/ 

■ layout.php

Framework

MVC

Framework

MVCModelo  Vista  Controlador

Modelo MVC

Estructura de un proyecto● apps/ 

○ [application name]/ ■ modules/ 

■ [module name]/ ■ actions/ 

■ actions.class.php # Controlador ■ config/■ lib/ ■ templates/ 

■ indexSuccess.php # Vista

Modelo === ORM

Framework

MVC

Los ejemplos de código son del tutorial  Jobeet

http://www.symfony-project.org/jobeet/

Modelo

 

Modelo - schema.yml

Modelo - schema.yml de Jobeet 1/2 

Modelo - schema.yml de Jobeet 2/2 

Modelo - Linea de comandos

php symfony propel:build-schemaphp symfony propel:build --sqlphp symfony propel:insert-sql php symfony propel:build --model    

Modelo - Código PHP

Modelo - Código PHP

Modelo - Código PHP

Modelo - Código PHP

Modelo - Código PHP

Enrutado de Acciones

Routing

Enrutado de Acciones

Queremos generar una URL como '/job/show/id/1'

Enrutado de Acciones'/job/sensio-labs/paris-france/1/web-developer'

Enrutado de Acciones

Controlador === Acciones

Framework

MVC

Acciones - Un objeto

// apps/frontend/modules/job/actions/actions.class.php class jobActions extends sfActions{    public function executeIndex(sfWebRequest $request){        $this->jobeet_jobs = Doctrine::getTable('JobeetJob')                ->createQuery('a')                ->execute();     } }

Se podría acceder a este módulo/acción mediante la url:                                        '/job/Index'

Acciones - Varios elementos

VISTA === Plantillas

Framework

MVC

Plantillas

Plantillas

Plantillas

Plantillas

Entornos y ConfiguracionesYAML

http://www.symfony-project.org/reference/1_4/en/

Configuraciones

●Archivo de Configuración para los entornos. http://www.symfony-project.org/reference/1_4/en/03-Configuration-Files-Principles#chapter_03_environment_awareness

 ●Configuración en cascada

 http://www.symfony-project.org/reference/1_4/en/03-Configuration-Files-Principles#chapter_03_configuration_cascade

Entornos y Configuraciones

●settings.yml● factories.yml●generator.yml●databases.yml● security.yml ● cache.yml● routing.ym ●app.yml ● filters.yml●view.yml

Plugins

 

Plugins

●http://www.symfony-project.org/plugins/●480 Plugins para symfony 1.4●The plugin section lists 1337 symfony plugins developed by

569 contributors.    

Datos al 30/07/2011

sfGuardPlugin

 

sfGuardPlugin

The sfGuardPlugin is a symfony plugin that provides authentication and authorization features above the standard

security feature of symfony. 

 

sfThumbnailPlugin

 

sfThumbnailPlugin

The sfThumbnailPlugin creates thumbnails from images. It relies on your choice of the GD or ImageMagick libraries.

Uso:

Apostrophe

http://apostrophenow.com/

Apostrophe

CMS basado en:●Symfony1.4●Doctrine●MySQL●Zend Lucene ●  minify (http://code.google.com/p/minify/)

Apostrophe

   

Ejemplo:

Características no nombradas

●Admin Generator● I18n y l10n●Formularios●Filtros ●Cache de contenido y caché de configuraciones● Seguridad●Tareas●Deployment●Más de doctrine●Propel●Logs y Barra de Debug ●Event Dispatcher ● Symfony 2 

ReferenciasSymfony 2http://symfony.comSymfony 1.*http://symfony-project.org

Comunidad en español:http://symfony.es

top related