SlideShare una empresa de Scribd logo
Symfony 2
http://blogs.prod.uci.cu/echo
Elementos sobre la versión estable Symfony 2.1
Yaismel Miranda Pons
¿Sobre qué estaremos hablando?
Resumen del trabajo realizado
1
Integración con Composer
2
Funciones PHP
3
Tema sorpresa
4
5
Información sobre el lanzamiento
Información sobre el lanzamiento
Fue publicado apenas unas horas del lanzamiento de
ZendFramework 2
Mejora en casi todos los aspectos del framework.
…Symfony 2.1 el lanzamiento más esperado del año…
- Los cambios más notables están en los formularios.
Ver detalles en:
https://github.com/symfony/symfony/blob/master/UPGRADE-2.1.md
ó
MyProject/vendor/symfony/symfony/UPGRADE-2.1.md
Resumen del trabajo realizado
Desde la versión anterior (desde github):
- más de 3.500 commits
- más de 1.100 pull requests recibidas de
cientos de programadores
Resumen del trabajo realizado
Desde la versión anterior:
- más de 6.000 tests unitarios
Por cierto ya está disponible la versión 3.7 de
PHPUnit.
Esta incluye varias aserciones útiles para aplicaciones que
tratan información en formato JSON.
assertJsonFileEqualsJsonFile
Resumen del trabajo realizado
Desde la versión anterior:
- más de 3.000 líneas de documentación
modificadas
Por cierto se estrena la nueva sección
de documentación sobre Symfony
gracias a Javier Eguíluz en:
http://www.symfony.es/documentacion/
Integración con Composer
¿Qué es
composer?
«Gestor de dependencias para
PHP»
Integración con Composer
Integración con Composer
Más información en nuestro FTP:
ftp://ftp.prod.uci.cu/PHP/Documentacion/Symfony2/Desymfony/2012/
composer-gestor-dependencias-php.pdf
¿Es posible usar Composer
en la UCI?
Composer en la UCI
Integración con Composer
Estructura de directorios
Integración con Composer
composer.json
Integración con Composer
composer.lock
Integración con Composer
autoload_namespaces.php
Funciones PHP utilizadas
En la versión PHP 5.3 de mi PC en el proyecto, el lenguaje PHP
tiene 1771 funciones definidas.
El código de Symfony2 utiliza alrededor de 467 funciones de
PHP diferentes.
usadas
sin usar
El código de Symfony 2.1 no utiliza el 73%
de las funciones de PHP.
Funciones PHP utilizadas
Funciones PHP más utilizadas:
en Symfony 2 en Symfony 1
Funciones PHP utilizadas
El uso de las funciones nativas de PHP es mucho mayor
en Symfony 2 comparado con Symfony 1.
Así que no reinventes la rueda y no programes algo
que puedes resolver con una sencilla función PHP.
Cuando se utiliza un framework que abstrae todas las partes del
desarrollo de la aplicación como:
es fácil olvidar que todo el código corre sobre PHP.
¿Sabías que es posible
desarrollar con Javascript en
el lado del servidor?
Tema sorpresa
¿Qué es
nodeJS?
«Node.js es un entorno de programación en
la capa del servidor basado en el lenguaje
de programación Javascript»
Ryan Dahl
Creador y responsable del
proyecto NodeJS.
2009
libevent
EventMachine
Ruby
Python
C
Trabaja en la empresa
Joyent.
I/O de datos en una arquitectura orientada a eventos.
Basado en el motor Javascript V8 de Google Chrome.
Sistema de módulos basados en CommonJS.
Incluye un entorno REPL para depuración interactiva.
Cuenta con gestor de dependencias formidable (npm).
Características
Incorpora varios módulos básicos entre ellos:
Net Path
FileSystem BufferTimers
Stream
Es posible utilizar módulos desarrollados por terceros, ya sea como
archivos ".node" precompilados, o como archivos en javascript plano.
Connect Express
Socket-io
Módulos
ZeroMQ
I/O necesita ser realizada de una forma diferente
Principio de funcionamiento
Muchas aplicaciones web tienen un código similar al
siguiente:
Principio de funcionamiento
En la mayoría de los casos, solo
está esperando por la respuesta.
Principio de funcionamiento
Un mejor software puede realizar
múltiples tareas.
Otros hilos de ejecución pueden
ejecutarse mientras se espera la
respuesta.
…Uds. como chicos inteligentes pensarán:
¿Eso es lo mejor que se puede hacer?
Principio de funcionamiento
Démosle un vistazo a:
y
vs
La diferencia:
Apache usa un hilo por conexión.
Nginx no usa hilos, usa un ciclo
de eventos.
Un código como este:
Puede bloquear el proceso de ejecución entero o
implicar múltiples pilas de ejecución.
Principio de funcionamiento
Sin embargo, un código como este:
Permite que el programa pueda retornar al ciclo de
eventos de forma inmediata.
Principio de funcionamiento
Principio de funcionamiento
Javascript está diseñado específicamente para ser
usado con ciclo de eventos.
- Funciones anónimas.
- Solo una devolución de llamada (callback) a la vez.
- I/O mediante callbacks de eventos del DOM.
Symfony 2
http://blogs.prod.uci.cu/echo
Elementos sobre la versión estable Symfony 2.1
Yaismel Miranda Pons
Recursos
https://github.com/symfony/symfony/blob/master/UPGRADE-2.1.md
http://nodejs.org/http://www.bloghumor.com.ar/2010_12_01_archive.html
http://palosalviento.blogspot.com/2010/11/por-que-salimos-mal-en-matematicas.html
http://nodejs.org
http://es.wikipedia.org/wiki/Nodejs
http://nginx.org

Más contenido relacionado

La actualidad más candente

Generando script malicioso con metasploit framework
Generando script malicioso con metasploit frameworkGenerando script malicioso con metasploit framework
Generando script malicioso con metasploit framework
Alejandro Cárdenas Monge
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
BEEVA_es
 
Laravel 4.2 pdf
Laravel 4.2 pdfLaravel 4.2 pdf
Laravel 4.2 pdf
ALDEN_HERRE
 
Frameworks de php
Frameworks de phpFrameworks de php
Frameworks de php
Pipe Muñoz
 
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windowslección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
Jairo Hoyos
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.
Ángel Acaymo M. G.
 
Tuenti release process
Tuenti release processTuenti release process
Tuenti release processTuenti
 
Turbogears
TurbogearsTurbogears
Turbogears
Fher Lopez
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones web
sergiovier
 
Nesuss sebastianm98
Nesuss sebastianm98Nesuss sebastianm98
Nesuss sebastianm98
Sebastian Mayorga
 
Migrando data - DRUPAL
Migrando data - DRUPALMigrando data - DRUPAL
Migrando data - DRUPAL
Alberto Torreblanca Villavicencio
 
Resumen capitulo5
Resumen capitulo5Resumen capitulo5
Resumen capitulo5
gavagarcia
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
Abimael Desales López
 
Miguel Balparda - Haciendo su vida más fácil con Magento 2 y la terminal
Miguel Balparda - Haciendo su vida más fácil con Magento 2 y la terminalMiguel Balparda - Haciendo su vida más fácil con Magento 2 y la terminal
Miguel Balparda - Haciendo su vida más fácil con Magento 2 y la terminal
Mage Titans ES
 
Phishing
PhishingPhishing
¿Cúal es el mejor navegador web? ¿y el más utilizado?
¿Cúal es el mejor navegador web? ¿y el más utilizado?¿Cúal es el mejor navegador web? ¿y el más utilizado?
¿Cúal es el mejor navegador web? ¿y el más utilizado?
knhas
 
Curso Vagrant
Curso VagrantCurso Vagrant

La actualidad más candente (20)

Generando script malicioso con metasploit framework
Generando script malicioso con metasploit frameworkGenerando script malicioso con metasploit framework
Generando script malicioso con metasploit framework
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
 
Laravel 4.2 pdf
Laravel 4.2 pdfLaravel 4.2 pdf
Laravel 4.2 pdf
 
Frameworks de php
Frameworks de phpFrameworks de php
Frameworks de php
 
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windowslección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
 
Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.Servidor Web Apache, PHP, MySQL.
Servidor Web Apache, PHP, MySQL.
 
Tuenti release process
Tuenti release processTuenti release process
Tuenti release process
 
Turbogears
TurbogearsTurbogears
Turbogears
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones web
 
Nesuss sebastianm98
Nesuss sebastianm98Nesuss sebastianm98
Nesuss sebastianm98
 
Migrando data - DRUPAL
Migrando data - DRUPALMigrando data - DRUPAL
Migrando data - DRUPAL
 
Selenium
SeleniumSelenium
Selenium
 
Redes
RedesRedes
Redes
 
Resumen capitulo5
Resumen capitulo5Resumen capitulo5
Resumen capitulo5
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Miguel Balparda - Haciendo su vida más fácil con Magento 2 y la terminal
Miguel Balparda - Haciendo su vida más fácil con Magento 2 y la terminalMiguel Balparda - Haciendo su vida más fácil con Magento 2 y la terminal
Miguel Balparda - Haciendo su vida más fácil con Magento 2 y la terminal
 
Phishing
PhishingPhishing
Phishing
 
¿Cúal es el mejor navegador web? ¿y el más utilizado?
¿Cúal es el mejor navegador web? ¿y el más utilizado?¿Cúal es el mejor navegador web? ¿y el más utilizado?
¿Cúal es el mejor navegador web? ¿y el más utilizado?
 
Curso Vagrant
Curso VagrantCurso Vagrant
Curso Vagrant
 
Framework
FrameworkFramework
Framework
 

Destacado

Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
Open University, KMi
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
Rightster
 
Vida de Mahatma Gandhi
Vida de Mahatma GandhiVida de Mahatma Gandhi
Vida de Mahatma Gandhi
Universidad de Costa Rica
 
Presentación gandhi
Presentación gandhiPresentación gandhi
Presentación gandhi
Claudia Simone
 
Gandhi
GandhiGandhi
Gandhi
DiegoBarnes
 
Gandhi para niños
Gandhi para niñosGandhi para niños
Gandhi para niños
mavimun721
 

Destacado (8)

PHP. Bases de Datos
PHP. Bases de DatosPHP. Bases de Datos
PHP. Bases de Datos
 
Php 101: PDO
Php 101: PDOPhp 101: PDO
Php 101: PDO
 
Introducción a PHP5
Introducción a PHP5Introducción a PHP5
Introducción a PHP5
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
 
Vida de Mahatma Gandhi
Vida de Mahatma GandhiVida de Mahatma Gandhi
Vida de Mahatma Gandhi
 
Presentación gandhi
Presentación gandhiPresentación gandhi
Presentación gandhi
 
Gandhi
GandhiGandhi
Gandhi
 
Gandhi para niños
Gandhi para niñosGandhi para niños
Gandhi para niños
 

Similar a Elementos sobre Symfony 2.1

CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
Symfony Zaragoza
 
Php programmers
Php programmersPhp programmers
Php programmers
jomarcuitojinez
 
Php programating
Php programatingPhp programating
Php programating
jomarcuitojinez
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
Anayely Priincess
 
Programacion php con symfony
Programacion php con symfonyProgramacion php con symfony
Programacion php con symfony
csalazart
 
Symfony2 Formacion y primeros pasos
Symfony2  Formacion y primeros pasosSymfony2  Formacion y primeros pasos
Symfony2 Formacion y primeros pasos
Soni BM
 
Zend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, ColombiaZend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, Colombia
razigal
 
Composer & SemVer
Composer & SemVerComposer & SemVer
Composer & SemVer
Alejandro Celaya Alastrué
 
Introducción a Symfony
Introducción a Symfony Introducción a Symfony
Introducción a Symfony
Marcos Quesada
 
Java 2010: presente, límites y futuro
Java 2010: presente, límites y futuroJava 2010: presente, límites y futuro
Java 2010: presente, límites y futuro
Miguel Zúñiga González
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
csalazart
 
Practica09
Practica09Practica09
Symfony Parte 2
Symfony Parte 2Symfony Parte 2
Symfony Parte 2
Rodrigo Miranda
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNextJulito Avellaneda
 
Spring roo
Spring rooSpring roo
Spring roo
Raul Arabaolaza
 
Symfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoSymfony2: Optimización y rendimiento
Symfony2: Optimización y rendimiento
Raul Fraile
 
PHP Unit y TDD
PHP Unit y TDDPHP Unit y TDD
PHP Unit y TDD
Emergya
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
cristian Salazar L
 
Symfony
SymfonySymfony
Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Symfony2: Framework para PHP5
Symfony2: Framework para PHP5
Raul Fraile
 

Similar a Elementos sobre Symfony 2.1 (20)

CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 
Php programmers
Php programmersPhp programmers
Php programmers
 
Php programating
Php programatingPhp programating
Php programating
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
 
Programacion php con symfony
Programacion php con symfonyProgramacion php con symfony
Programacion php con symfony
 
Symfony2 Formacion y primeros pasos
Symfony2  Formacion y primeros pasosSymfony2  Formacion y primeros pasos
Symfony2 Formacion y primeros pasos
 
Zend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, ColombiaZend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, Colombia
 
Composer & SemVer
Composer & SemVerComposer & SemVer
Composer & SemVer
 
Introducción a Symfony
Introducción a Symfony Introducción a Symfony
Introducción a Symfony
 
Java 2010: presente, límites y futuro
Java 2010: presente, límites y futuroJava 2010: presente, límites y futuro
Java 2010: presente, límites y futuro
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
 
Practica09
Practica09Practica09
Practica09
 
Symfony Parte 2
Symfony Parte 2Symfony Parte 2
Symfony Parte 2
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
 
Spring roo
Spring rooSpring roo
Spring roo
 
Symfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoSymfony2: Optimización y rendimiento
Symfony2: Optimización y rendimiento
 
PHP Unit y TDD
PHP Unit y TDDPHP Unit y TDD
PHP Unit y TDD
 
Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
Symfony
SymfonySymfony
Symfony
 
Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Symfony2: Framework para PHP5
Symfony2: Framework para PHP5
 

Último

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 

Último (6)

PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 

Elementos sobre Symfony 2.1