SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
Introducción
a
¿Qué es Symfony2?
Symfony is a PHP Web Development Framework.
That doesn’t answer your question?
!
Ok, let’s try that again.
Symfony is a PHP Framework, a Philosophy, and a
Community - all working together in harmony.
¿FRAMEWORK?
!
Los Frameworks son para
cobardes, los pros
programamos acercando un
imán al disco duro!
10 Razones para usar un framework
• Organización del código y archivos
• Utilidades y Librerías
• Seguridad
• Menos código y más desarrollo
• Soporte de la comunidad
10 Razones para usar un framework
• Facilita el trabajo en equipo
• Promueve las buenas prácticas
• Principio DRY
• Promueve el uso de test en el código
• Es guay!
¡¡¡¡ Yo siempre uso
Flat PHP !!!!!
www.miweb.com/index.php?modulo=contacta&op=enviar
Hora de Evolucionar
Todo evoluciona!
Facebook 2004
¿És el estado de PHP ideal?
¡NO!
PHP puede ser un líoPor tu culpa!
FRAMEWORKS AL RESCATE
Framework
Symfony2
RETOS DE LA PROGRAMACIÓN WEB
• Persistencia de datos
• Seguridad
• Formularios
• Validación
• Plantillas
• Archivos de Log
• Rendimiento
• Caché
• Internacionalización
• Tareas Programadas
• Enrutamiento
Lo que soluciona Symfony2
Buenas prácticas
¿Qué es un Bundle?
A bundle, is a directory containing
a set of files (PHP files, stylesheets,
JavaScript, images, etc...) that
implements a single feature (a
blog, a forum, etc..).
!
!
In Symfony2 (almost) everything
lives inside a bundle.
Routing
• Nos permite localizar la acción
(Controller) a partir de la URL
• Poner nombre a las rutas para
cambiarlas en un solo lugar.
• Rutas User-Friendly
• Mejora el SEO
Ejemplo de Ruta
http://www.tiendademusica.com/show.php?artist=123&album=123
http://tiendademusica.com/artista/el-fari/grandes-exitos
Controlador
• Nos permite devolver una respuesta a una petición
• Nos permite comunicarnos con el modelo
• Nos permite pasar parámetros a una vista
Ejemplo de Controlador
Ejemplo de Controlador
Vistas
• Es lo que ve el usuario final
• Casi siempre tenemos 1 Vista / Acción
• Separa la presentación del negocio
• Recibe parámetros del controlador
• Symfony2 integra el motor de plantillas Twig
• Muy facil de usar
Ejemplo de Vista
Modelo
• Nos permite interactuar con la base de datos
• No es necesario saber SQL
• Genera las entidades y repositorios
• Genera mediante comandos la BD y el SCHEMA
Utiliza Composer
DEMO
Siguientes pasos
www.symfony.es
www.symfony.com
Symfony2 Introducción

Más contenido relacionado

La actualidad más candente

El uso correcto de MySQLi
El uso correcto de MySQLi El uso correcto de MySQLi
El uso correcto de MySQLi Arsys
 
Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Moisés Maciá
 
Introduccion a Python para la web
Introduccion a Python para la webIntroduccion a Python para la web
Introduccion a Python para la webArsys
 
Webinar - Radiografía actual del lenguaje PHP
Webinar - Radiografía actual del lenguaje PHPWebinar - Radiografía actual del lenguaje PHP
Webinar - Radiografía actual del lenguaje PHPArsys
 
NodeJS y MongoDB
NodeJS y MongoDBNodeJS y MongoDB
NodeJS y MongoDBArsys
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSAlberto Gimeno
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
Curso node.js
Curso node.js Curso node.js
Curso node.js Redradix
 
Provisión Automática de máquinas con Ansible
Provisión Automática de máquinas con AnsibleProvisión Automática de máquinas con Ansible
Provisión Automática de máquinas con AnsibleCarlos Gimeno Yáñez
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webRoberto Sanz Ciriano
 
PDO: Capa de abstracción de base de datos con PHP
PDO: Capa de abstracción de base de datos con PHPPDO: Capa de abstracción de base de datos con PHP
PDO: Capa de abstracción de base de datos con PHPArsys
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSBEEVA_es
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP Aprende PHP
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalDavid Gil Sánchez
 
Tests de integración automatizados con Docker y Bamboo
Tests de integración automatizados con Docker y BambooTests de integración automatizados con Docker y Bamboo
Tests de integración automatizados con Docker y BambooFernando Llaca Romero
 
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónLuis Ruiz Pavón
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en WindowsAntonio Ognio
 

La actualidad más candente (20)

El uso correcto de MySQLi
El uso correcto de MySQLi El uso correcto de MySQLi
El uso correcto de MySQLi
 
Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible Gestionando tu infraestructura con Ansible
Gestionando tu infraestructura con Ansible
 
Introduccion a Python para la web
Introduccion a Python para la webIntroduccion a Python para la web
Introduccion a Python para la web
 
Webinar - Radiografía actual del lenguaje PHP
Webinar - Radiografía actual del lenguaje PHPWebinar - Radiografía actual del lenguaje PHP
Webinar - Radiografía actual del lenguaje PHP
 
NodeJS y MongoDB
NodeJS y MongoDBNodeJS y MongoDB
NodeJS y MongoDB
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
 
Provisión Automática de máquinas con Ansible
Provisión Automática de máquinas con AnsibleProvisión Automática de máquinas con Ansible
Provisión Automática de máquinas con Ansible
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
PDO: Capa de abstracción de base de datos con PHP
PDO: Capa de abstracción de base de datos con PHPPDO: Capa de abstracción de base de datos con PHP
PDO: Capa de abstracción de base de datos con PHP
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
 
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
 
Tests de integración automatizados con Docker y Bamboo
Tests de integración automatizados con Docker y BambooTests de integración automatizados con Docker y Bamboo
Tests de integración automatizados con Docker y Bamboo
 
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
 
Introducción Nodejs
Introducción NodejsIntroducción Nodejs
Introducción Nodejs
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en Windows
 

Similar a Symfony2 Introducción

BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012Asier Marqués
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Frameworkexcedesoft
 
Frameworks para Php Adwa
Frameworks para Php AdwaFrameworks para Php Adwa
Frameworks para Php AdwaAndres Karp
 
Silex para aplicaciones web MVC
Silex para aplicaciones web MVCSilex para aplicaciones web MVC
Silex para aplicaciones web MVCAsier Marqués
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework SymfonyRodrigo Miranda
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyJorge Antonio Linares Vera
 
Desarrollo de Aplicaciones Web con Symfony 5/10/2011
Desarrollo de Aplicaciones Web con Symfony 5/10/2011Desarrollo de Aplicaciones Web con Symfony 5/10/2011
Desarrollo de Aplicaciones Web con Symfony 5/10/2011gorolabs
 
Framework Laravel
Framework LaravelFramework Laravel
Framework LaravelRafael Lobo
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysqlPeter Concha
 
Introduccion teorica a los frameworks de desarrollo para php
Introduccion teorica a los frameworks de desarrollo para phpIntroduccion teorica a los frameworks de desarrollo para php
Introduccion teorica a los frameworks de desarrollo para phpDaniel Hahn
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNextJulito Avellaneda
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian Diaz Cervera
 

Similar a Symfony2 Introducción (20)

BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
Frameworks para Php Adwa
Frameworks para Php AdwaFrameworks para Php Adwa
Frameworks para Php Adwa
 
Silex para aplicaciones web MVC
Silex para aplicaciones web MVCSilex para aplicaciones web MVC
Silex para aplicaciones web MVC
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Symfony dagrinchi
Symfony dagrinchiSymfony dagrinchi
Symfony dagrinchi
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Desarrollo de Aplicaciones Web con Symfony 5/10/2011
Desarrollo de Aplicaciones Web con Symfony 5/10/2011Desarrollo de Aplicaciones Web con Symfony 5/10/2011
Desarrollo de Aplicaciones Web con Symfony 5/10/2011
 
Frontal avanzado y assetic
Frontal avanzado y asseticFrontal avanzado y assetic
Frontal avanzado y assetic
 
Frontal Avanzado y Assetic
Frontal Avanzado y AsseticFrontal Avanzado y Assetic
Frontal Avanzado y Assetic
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
Introduccion teorica a los frameworks de desarrollo para php
Introduccion teorica a los frameworks de desarrollo para phpIntroduccion teorica a los frameworks de desarrollo para php
Introduccion teorica a los frameworks de desarrollo para php
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
 
Introducción a symfony
Introducción a symfonyIntroducción a symfony
Introducción a symfony
 
Introducción a Silex
Introducción a SilexIntroducción a Silex
Introducción a Silex
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 

Symfony2 Introducción