Desymfony 2011 - Introducción a Symfony2
Upcoming SlideShare
Loading in...5
×
 

Desymfony 2011 - Introducción a Symfony2

on

  • 31,648 views

Las Jornadas Symfony 2011 comenzaron con una breve introducción a Symfony2. ...

Las Jornadas Symfony 2011 comenzaron con una breve introducción a Symfony2.

Durante la presentación se muestran algunas de las características más destacadas de Symfony2 a través de diez palabras clave.

Statistics

Views

Total Views
31,648
Views on SlideShare
5,036
Embed Views
26,612

Actions

Likes
2
Downloads
437
Comments
0

21 Embeds 26,612

http://www.symfony.es 23295
http://symfony.es 2698
http://moodle.iesunibhi.com 404
http://blogdediegoramirez.blogspot.com.ar 64
http://blogdediegoramirez.blogspot.com 47
http://facultiadev 26
http://blogdediegoramirez.blogspot.com.es 17
http://translate.googleusercontent.com 14
http://blogdediegoramirez.blogspot.mx 13
http://www.linkedin.com 9
http://www.sfexception.com 5
http://webcache.googleusercontent.com 5
http://onlyforthegloryofgod.com 4
http://open.dapper.net 3
http://symfony.local 2
http://blogdediegoramirez.blogspot.fr 1
http://blogdediegoramirez.blogspot.ca 1
http://blogdediegoramirez.blogspot.com.br 1
http://www.slideshare.net 1
http://www.google.co.ve 1
http://localhost 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Desymfony 2011 - Introducción a Symfony2 Desymfony 2011 - Introducción a Symfony2 Presentation Transcript

  • Introducción a Symfony2Javier EguiluzJORNADAS SYMFONY 2011 1-3 JULIO, CASTELLÓN DESYMFONY.COM
  • Patrocinadores Patrocinadores PatrocinadoresColaboradores BRONCE PLATA PLATINO y ORO JORNADAS SYMFONY 2011 están patrocinadas por
  • importanteAlgunas partes de esta presentaciónno se pueden entender bien sin verel vídeo de su impartición.Puedes acceder al vídeo enhttp://bit.ly/sf-tutorial1
  • « framework PHP »
  • 1 2 3 4 5 6 7 8 9 10 Versátil
  • full!stackframework
  • full!stack componentsframework framework
  • full!stack components micro !framework framework framework
  • full!stack components micro !framework framework framework
  • BrowserKit EventDispatcher Routing Proyecto SymfonyClassLoader Finder Security Config Form Serializer 21 Console HttpFoundation Templating libreríasCssSelector HttpKernel TranslationDependencyInjection Locale ValidatorDomCrawler Process Yaml
  • BrowserKit EventDispatcher Routing ClassLoader Finder Security Config Form Serializer Console HttpFoundation Templating CssSelector HttpKernel Translation DependencyInjection Locale Validator DomCrawler Process Yamlcomponentes
  • BrowserKit EventDispatcher Routing ClassLoader Finder Security Config Form Serializer Console HttpFoundation Templating CssSelector HttpKernel Translation Assetic Monolog DependencyInjection Locale Validator DomCrawler Process Yaml Doctrine SwiftMailercomponentes librerías externas
  • BrowserKit EventDispatcher Routing ClassLoader Finder Security Config Form Serializer Console HttpFoundation Templating CssSelector HttpKernel Translation Assetic Monolog DependencyInjection Locale Validator DomCrawler Process Yaml Doctrine SwiftMailercomponentes librerías externas SecurityBundle DoctrineBundle FrameworkBundle +6 Bundles bundles
  • BrowserKit EventDispatcher Routing ClassLoader Finder Security Framework Config Form Serializer Symfony2 Console HttpFoundation Templating CssSelector HttpKernel Translation Assetic Monolog DependencyInjection Locale Validator DomCrawler Process Yaml Doctrine SwiftMailercomponentes librerías externas SecurityBundle DoctrineBundle FrameworkBundle +6 Bundles bundles
  • BrowserKit EventDispatcher Routing ClassLoader Framework Symfony2 HttpFoundation Templating CssSelector HttpKernel DomCrawler Yamlcomponentes
  • BrowserKit EventDispatcher Routing !Framework ClassLoader Silex HttpFoundation Templating CssSelector HttpKernel DomCrawler Yamlcomponentes 1 archivo 400 KB
  • 1 2 3 4 5 6 7 8 9 10 Útil
  • ¿ Por qué utilizar unframework bueno ?
  • retos de la programación web • persistencia datos • rendimiento • seguridad • cache • formularios • archivos web • validación • internacionalización • plantillas • tareas programadas • archivos de log • enrutamiento Fuente: Ryan Weaver, http://slidesha.re/iuptB2 (pág. 9)
  • lo que soluciona Symfony2• persistencia datos • rendimiento• seguridad • cache• formularios • archivos web• validación • internacionalización• plantillas • tareas programadas• archivos de log • enrutamiento Fuente: Ryan Weaver, http://slidesha.re/iuptB2 (pág. 9)
  • industrialización
  • 1 2 3 4 5 6 7 8 9 10Buenas prácticas
  • <http> <intercept-url pattern=/login.htm* filters=none/> <intercept-url pattern=/** access=ROLE_USER /> <form-login login-page=/login.htm default-target-url=/home.htm always-use-default-target=true /></http>
  • <http> <intercept-url pattern=/login.htm* filters=none/> <intercept-url pattern=/** access=ROLE_USER /> <form-login login-page=/login.htm default-target-url=/home.htm always-use-default-target=true /></http>firewalls: login: pattern: ^/login anonymous: ~ all: pattern: ^/ form_login: login_path: /login default_target_path: /home.htm always_use_default_target_path: true
  • EntityManagerFactory emf = Persistence.createEntityManagerFactory("manager1");EntityManager em = emf.createEntityManager();Usuario anonimo = new Usuario();anonimo.setNombre("Anónimo");anonimo.setEdad(20);em.persist(anonimo);em.flush();
  • EntityManagerFactory emf = Persistence.createEntityManagerFactory("manager1");EntityManager em = emf.createEntityManager();Usuario anonimo = new Usuario();anonimo.setNombre("Anónimo");anonimo.setEdad(20);em.persist(anonimo);em.flush();$em = $this->get(doctrine)->getEntityManager();$anonimo = new Usuario();$anonimo->setNombre("Anónimo");$anonimo->setEdad(20);$em->persist($anonimo);$em->flush();
  • ruby script/generate model Articulo titulo:string body:text
  • ruby script/generate model Articulo titulo:string body:textphp app/console doctrine:generate:entity MiBundle:Articulo "titulo:string(255) body:text"
  • {% extends "base_generic.html" %}{% block title %} {{ seccion.titulo }} {% endblock %}{% block content %}<h1> {{ seccion.titulo }} </h1>{% for articulo in articulos %} <h2> {{ articulo.titulo|upper }} </h2>{% endfor %}{% endblock %}
  • {% extends "base_generic.html" %}{% block title %} {{ seccion.titulo }} {% endblock %}{% block content %}<h1> {{ seccion.titulo }} </h1>{% for articulo in articulos %} <h2> {{ articulo.titulo|upper }} </h2>{% endfor %}{% endblock %}{% extends "::base_generic.html" %}{% block title %} {{ seccion.titulo }} {% endblock %}{% block content %}<h1> {{ seccion.titulo }} </h1>{% for articulo in articulos %} <h2> {{ articulo.titulo|upper }} </h2>{% endfor %}{% endblock %}
  • TwigAsseticMonolog
  • 1 2 3 4 5 6 7 8 9 10 Flexible
  • novato clásico experto
  • YAMLnovato clásico experto
  • YAML XMLnovato clásico experto
  • YAML XML PHPnovato clásico experto
  • archivos de configuraciónYAML XML PHP
  • plantillasTwig PHP
  • almacenamientoSQL NoSQL
  • Configuración PHP XML YAMLPlantillas PHP TwigAlmacenamiento SQL NoSQLFlujo de trabajo Anotaciones Archivos
  • 1 2 3 4 5 6 7 8 9 10 Rendimiento
  • « La gran obsesión de Symfony2 »
  • 5.3.2
  • archivos de configuración PHP YAML XML
  • todo se transforma a PHPPHP Caché YAML XML
  • PHP CachéTwig anotaciones YAML XML
  • Aplicación BD
  • Aplicación BD
  • Aplicación BD
  • Aplicación BD
  • Reverse Proxy Aplicación BD
  • Reverse Proxy Aplicación BD
  • 1 2 3 4 5 6 7 8 9 10 Soporte
  • 1.x Feb. Dic. Dic. Nov. 2007 2008 2009 2012 1.0 1.2 1.4 1.4.x2.x Jul. 2011 Jun. 2016 2.0 2.x
  • hace 5 años no existía
  • 1 2 3 4 5 6 7 8 9 10Documentación
  • 10 libros 8 idiomas 15.000 págs.
  • The TheBook Cookook~ 200 págs. +50 recetasReference APIcientos de opciones cientos dede configuración métodos
  • 1 2 3 4 5 6 7 8 9 10 Comunidad
  • +200
  • +20061 43 170 32 Fuente: Github & andrewnacin.com
  • Doctrine Behat Imagine SilexAssetic PropelSwiftMailer Twig
  • Kris Jonathan Sebastian Wallsmith H. Wage Bergmann Nils François ThibaultAdermann Zaninotto Duplessis Bulat Benjamin Konstantin Shakirzyanov Eberlei Kudryashov Lukas Ryan Bernhard K. Smith Weaver Schussek
  • siwapp.org
  • diem-project.org apostrophenow.org
  • phpbb.com
  • 1 2 3 4 5 6 7 8 9 10 Visionario
  • Fabien Potencier Fundador y responsable delproyecto Symfony Foto: Guillaume Ponçon
  • Symfony 1 requerirá como mínimo PHP 5.2.4 Fabien Potencier Octubre 2005
  • Doctrine 2.0 es una de lasmejores cosas que le han pasado a PHP Fabien Potencier Octubre 2009
  • Symfony2 tendrá uncontenedor de Inyecciónde Dependencias basado en Spring Fabien Potencier Septiembre 2008
  • Twig será el formato pordefecto de las plantillas de Symfony2 Fabien Potencier Septiembre 2010
  • 1 2 3 4 5 6 7 8 9 10 Popular
  • #1 para programadores Fuente: Github
  • páginas vistas500000375000250000125000 0
  • watchers300022501500 750 0
  • forks700525350175 0
  • pull requests15001125 750 375 0
  • #1 para el público en general Fuente: Google Trends
  • popularidad España, 2011 0 0,25 0,5 0,75 1 Fuente: Google Trends
  • #1 Argentina #1 Colombia #1 Chile #1 Cuba #1 Mexico #1 Perú #1 UruguayFuente: Google Trends & Alexa #1 Venezuela
  • #1 en ofertas de trabajo Fuente: Infojobs
  • #1Fuente: deSymfony
  • Symfony2 es1. versátil 2. útil3. buenas prácticas 4. flexible5. rendimiento 6. soporte7. documentación 8. comunidad9. visionario 10. popular
  • contactojavier.eguiluz@gmail.comtwitter.com/javiereguiluzlinkedin.com/in/javiereguiluz