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 Buffer Timers
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