SlideShare una empresa de Scribd logo
1 de 88
Descargar para leer sin conexión
PHP Tutorial Screencasts
Silex 



Microframework y
camino fácil de aprender
Symfony
!
!
!
!
!
!
• Husband of the much more
talented @leannapelham
PHP Tutorial Screencasts
knplabs.com
github.com/weaverryan
• Lead contributor to the Symfony documentation
!
• KnpLabs US - Symfony consulting, training, Kumbaya
!
• Writer for KnpUniversity.com
screencasts
Buenos Dias!
PHP Tutorial Screencasts
knplabs.com
github.com/weaverryan
• Viví en Querétaro en 2003 para cuatro meses

• Hablé casi 5 palabras en español.

• Este gringo estaba *sorprendido* por

el costumbre de besar para

saludar a las mujeres
Querétaro
Capítulo 1
!
La anatomía de cualquier
web framework
@weaverryan
@weaverryan
Una aplicación
compleja que nos
da saludos!
Configure Apache
O usen al web server
nativo de PHP!
php -S localhost:8000
@weaverryan
*Se puede usar este web server para Drupal también
Request -> Response Framework
Request:
GET /hello/drupalmx
Routing:
determina una función que puede
crear esta página (el controller)
El Controller:
nuestro código: construye la pagina
Response:
Hello drupalmx!@weaverryan
Una ruta que coincide
cuando el URI es
/hello/*@weaverryan
Si el URI coincide la ruta,
Silex ejecuta esta
función (el controller)
@weaverryan
El valor de {name} se
pasa como argumento
al controller
@weaverryan
Construimos la pagina
y celebrar!
@weaverryan
Request -> Response Framework
Request:
GET /hello/drupalmx
Routing:
determina una función que puede
crear esta página (el controller)
El Controller:
nuestro código: construye la pagina
Response:
Hello drupalmx!@weaverryan
Capítulo 2
!
Request-Response
Nuestro Trabajo:
Entender el “request” y
crear un “response”
@weaverryan
El Request
@weaverryan
GET /hello/drupalmx?page=5 HTTP/1.1!
Host: localhost:8000!
Connection: keep-alive!
Cache-Control: max-age=0!
Accept: text/html,application/xhtml+xml!
User-Agent: Mozilla/5.0!
Cookie: PHPSESSID=abcdefg; has_js=1;
El cliente nos da un mensaje sencillo que
describe qué quiere
El Request
@weaverryan
GET /hello/drupalmx?page=5 HTTP/1.1!
Host: localhost:8000!
Connection: keep-alive!
Cache-Control: max-age=0!
Accept: text/html,application/xhtml+xml!
User-Agent: Mozilla/5.0!
Cookie: PHPSESSID=abcdefg; has_js=1;
El cliente nos da un mensaje sencillo que
describe qué quiere
El método HTTP
El URI
El Request
@weaverryan
GET /hello/drupalmx?page=5 HTTP/1.1!
Host: localhost:8000!
Connection: keep-alive!
Cache-Control: max-age=0!
Accept: text/html,application/xhtml+xml!
User-Agent: Mozilla/5.0!
Cookie: PHPSESSID=abcdefg; has_js=1;
El cliente nos da un mensaje sencillo que
describe qué quiere
Los Request headers
El Response
@weaverryan
HTTP/1.1 200 OK!
Host: localhost:8000!
Cache-Control: no-cache!
Date: Wed, 23 Apr 2014 16:25:03 GMT!
Content-Type: text/html;!
!
Hello drupalmx
El Response
@weaverryan
El código del response
Los Response headersHTTP/1.1 200 OK!
Host: localhost:8000!
Cache-Control: no-cache!
Date: Wed, 23 Apr 2014 16:25:03 GMT!
Content-Type: text/html;!
!
<h1>Hello drupalmx</h1>
El cuerpo
En PHP, el “request”
mensaje se deconstruye
a los “superglobals”
@weaverryan
Para crear el response,
usamos “header” y echo
content
@weaverryan
@weaverryan
El Request en Silex
@weaverryan
El Response en Silex
Capítulo 3
!
Namespaces & Autoloading
https://www.flickr.com/photos/chrisjeriko/8599248142
El controller puede ser
cualquier función
Controller como método en clase
@weaverryan
Controller como método en clase
@weaverryan
PHP Namespaces
@weaverryan
Namespaces nos da nombres max largos	

nombre: DrupalacmeControllerDemoController
PHP Namespaces
@weaverryan
Autoloading
@weaverryan
No se necesita usar
require/include si:
!
A. El namespace es igual

al directorio
!
B. La clase es igual al

nombre de archivo
(+.php)
Se llama PSR-0
Capítulo 4:
!
Servicios y el “container”
Servicios: Objetos útiles
@weaverryan
El container: el objeto que
contiene todos los servicios
@weaverryan
En Silex, Symfony y Drupal 8,
existe un “container”.
!
Si lo tienes, puede usar los
servicios (objetos útiles)
Podemos usar el servicio
de Twig para
render un template?
@weaverryan
El “container” in SilexEl servicio “twig”
Request -> Response Framework
Request:
GET /hello/drupalmx
Routing:
determina una función que puede
crear esta página (el controller)
El Controller:
nuestro código: construye la pagina
Response:
Hello drupalmx!@weaverryan
Container	

(con servicios)
Capítulo 5:
!
Eventos
https://www.flickr.com/photos/bmp_creep/8064779382
Como Drupal “hooks”,
Silex tiene eventos
@weaverryan
Puede decir a Silex:

“Por favor, cuando
ocurra el evento XXXXX,
ejecute esa función”
@weaverryan
Request -> Response Framework
Request:
GET /hello/drupalmx
Routing:
determina una función que puede
crear esta página (el controller)
El Controller:
nuestro código: construye la pagina
Response:
Hello drupalmx!@weaverryan
Container	

(con servicios)
Evento:
kernel.request
Evento:
kernel.controller
Eventos:
kernel.view
kernel.response
@weaverryan
@weaverryan
Capítulo 6:
!
El Profiler
https://www.flickr.com/photos/fukagawa/415772853
Silex (por Symfony)
tiene un “profiler”
@weaverryan
@weaverryan
Contiene muchísimo
información, incluyendo
el “timeline”
@weaverryan
@weaverryan
1) kernel.request evento
2) Routing
3) Ejecuta el controller
4) Nuestro “listener” en kernel.view
Capítulo 7:
!
Todo lo mismo en Drupal 8
Cómo podemos crear
esto en Drupal 8?
Gracias a mi amigo Jesus
Olivas por ya tener blog
posts muy buenos
@jmolivas
jmolivas.com
http://bit.ly/d8-hello
1) Crear un module “acme”
@jmolivas http://bit.ly/d8-hello
2) Crear routing
@jmolivas http://bit.ly/d8-hello
Nombre del controller
3) Crear el controller
@jmolivas http://bit.ly/d8-hello
Module, Routing, Controller
@jmolivas http://bit.ly/d8-hello
@weaverryan
Tiene Drupal 8 un
container con servicios?
@weaverryan
El Container
Donde se debe encuentra
el container puede cambiar
antes del fin de Drpual 8
@weaverryan
@weaverryan
Pero sí hay un container
!
Y sí continue todos los
objetos útiles (servicios) de
Drupal
Hay eventos como Silex?
@weaverryan
¡Sí! Existen los mismos
eventos y más
1) Crear una clase “listener”
Se ejecuta al fin del request	

!
Añadimos JavaScript a cada	

pagina en el sitio
2) Añadir un nuevo servicio
al container
@weaverryan
Ahora, el container tiene un servicio	

que se llama “acme.view_subscriber”
El event_subscriber tag dice al Drupal	

que este servicio quiere ser un “listener”	

para algunos eventos
@weaverryan
Y existe el profiler?
@weaverryan
https://drupal.org/project/webprofiler
@weaverryan
https://drupal.org/project/webprofiler
@weaverryan
https://drupal.org/project/webprofiler
@weaverryan
https://drupal.org/project/webprofiler
@weaverryan
https://drupal.org/project/webprofiler
@weaverryan
https://drupal.org/project/webprofiler
Capítulo 8
!
!
, y
Temas Principales
• Request/Response	

!
• Routing/Controller	

!
• PHP Namespaces/Autoloading	

!
• Services/Container

• Events/Listeners

• Profiler
@weaverryan
Todos son iguales en Silex, Drupal y Symfony
Se puede usar Silex
para aprender Drupal
Se puede usar Silex
para aprender Symfony
Se puede usar Symfony
para aprender Drupal
Al fin, tienen mas
herramientas para
cualquier problema
PHP Tutorial Screencasts
Ryan Weaver
@weaverryan
¡Gracias!
@weaveryan
@KnpUniversity

Más contenido relacionado

La actualidad más candente

Control de dos led's via Web en tiempo real con Raspberry y Firebase
Control de dos led's via Web en tiempo real con Raspberry y FirebaseControl de dos led's via Web en tiempo real con Raspberry y Firebase
Control de dos led's via Web en tiempo real con Raspberry y FirebaseFabian Velasco
 
Codemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con MicronautCodemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con MicronautIván López Martín
 
Distributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZHDistributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZHCesar Cardenas Desales
 
La seguridad en WordPress de la A a la Z
La seguridad en WordPress de la A a la ZLa seguridad en WordPress de la A a la Z
La seguridad en WordPress de la A a la Zwpbarcelona
 
Progressive Web Apps (español - spanish)
Progressive Web Apps (español - spanish)Progressive Web Apps (español - spanish)
Progressive Web Apps (español - spanish)Maximiliano Firtman
 
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012SolidQ
 
PowerShell para administradores
PowerShell para administradoresPowerShell para administradores
PowerShell para administradoresPablo Campos
 
Manos a la obra con Yupp PHP Framework
Manos a la obra con Yupp PHP FrameworkManos a la obra con Yupp PHP Framework
Manos a la obra con Yupp PHP FrameworkPablo Pazos
 

La actualidad más candente (14)

Control de dos led's via Web en tiempo real con Raspberry y Firebase
Control de dos led's via Web en tiempo real con Raspberry y FirebaseControl de dos led's via Web en tiempo real con Raspberry y Firebase
Control de dos led's via Web en tiempo real con Raspberry y Firebase
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Codemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con MicronautCodemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con Micronaut
 
Webperf wordpress
Webperf wordpressWebperf wordpress
Webperf wordpress
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Node-webkit
Node-webkitNode-webkit
Node-webkit
 
Distributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZHDistributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZH
 
La seguridad en WordPress de la A a la Z
La seguridad en WordPress de la A a la ZLa seguridad en WordPress de la A a la Z
La seguridad en WordPress de la A a la Z
 
Progressive Web Apps (español - spanish)
Progressive Web Apps (español - spanish)Progressive Web Apps (español - spanish)
Progressive Web Apps (español - spanish)
 
02practica completa
02practica completa02practica completa
02practica completa
 
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
 
PowerShell para administradores
PowerShell para administradoresPowerShell para administradores
PowerShell para administradores
 
Progressive Web Apps - .NET Conf CO 2017
Progressive Web Apps - .NET Conf CO 2017Progressive Web Apps - .NET Conf CO 2017
Progressive Web Apps - .NET Conf CO 2017
 
Manos a la obra con Yupp PHP Framework
Manos a la obra con Yupp PHP FrameworkManos a la obra con Yupp PHP Framework
Manos a la obra con Yupp PHP Framework
 

Similar a Silex: Microframework y camino fácil de aprender Symfony

5 servidor web
5 servidor web5 servidor web
5 servidor webangeles104
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012Asier Marqués
 
M1 introduccion a php
M1   introduccion a phpM1   introduccion a php
M1 introduccion a phpEDUARDLARA1
 
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
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfRaaulroodriguez
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARPablo Godel
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQLWilian
 
Desarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdfDesarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdfMauricioGArmoa
 
Desarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y FoundationDesarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y FoundationLenin Alevski Huerta Arias
 
Nodejs.introduccion
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccionkillfill
 
633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completoMETROPOLITANO
 

Similar a Silex: Microframework y camino fácil de aprender Symfony (20)

Curso de php
Curso de phpCurso de php
Curso de php
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
M1 introduccion a php
M1   introduccion a phpM1   introduccion a php
M1 introduccion a php
 
PHP IUTE
PHP IUTEPHP IUTE
PHP IUTE
 
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
 
Rendimiento extremo en php
Rendimiento extremo en phpRendimiento extremo en php
Rendimiento extremo en php
 
Cherokee
CherokeeCherokee
Cherokee
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
 
Desarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdfDesarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdf
 
Desarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y FoundationDesarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y Foundation
 
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
 
Nodejs.introduccion
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccion
 
Curso php-my sql-clase-2
Curso php-my sql-clase-2Curso php-my sql-clase-2
Curso php-my sql-clase-2
 
Presentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.ARPresentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.AR
 
Curso php desde_cero
Curso php desde_ceroCurso php desde_cero
Curso php desde_cero
 
633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo633f9e tutorial de php y my sql completo
633f9e tutorial de php y my sql completo
 
Tutorial mysqlphp
Tutorial mysqlphpTutorial mysqlphp
Tutorial mysqlphp
 

Más de Ryan Weaver

Webpack Encore Symfony Live 2017 San Francisco
Webpack Encore Symfony Live 2017 San FranciscoWebpack Encore Symfony Live 2017 San Francisco
Webpack Encore Symfony Live 2017 San FranciscoRyan Weaver
 
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017The Coolest Symfony Components you’ve never heard of - DrupalCon 2017
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017Ryan Weaver
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
 
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and more
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreSymfony Guard Authentication: Fun with API Token, Social Login, JWT and more
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
 
Symfony: Your Next Microframework (SymfonyCon 2015)
Symfony: Your Next Microframework (SymfonyCon 2015)Symfony: Your Next Microframework (SymfonyCon 2015)
Symfony: Your Next Microframework (SymfonyCon 2015)Ryan Weaver
 
Guard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful SecurityGuard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful SecurityRyan Weaver
 
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatGrand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatRyan Weaver
 
Twig: Friendly Curly Braces Invade Your Templates!
Twig: Friendly Curly Braces Invade Your Templates!Twig: Friendly Curly Braces Invade Your Templates!
Twig: Friendly Curly Braces Invade Your Templates!Ryan Weaver
 
Master the New Core of Drupal 8 Now: with Symfony and Silex
Master the New Core of Drupal 8 Now: with Symfony and SilexMaster the New Core of Drupal 8 Now: with Symfony and Silex
Master the New Core of Drupal 8 Now: with Symfony and SilexRyan Weaver
 
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itDrupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itRyan Weaver
 
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsCool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsRyan Weaver
 
The Wonderful World of Symfony Components
The Wonderful World of Symfony ComponentsThe Wonderful World of Symfony Components
The Wonderful World of Symfony ComponentsRyan Weaver
 
A PHP Christmas Miracle - 3 Frameworks, 1 app
A PHP Christmas Miracle - 3 Frameworks, 1 appA PHP Christmas Miracle - 3 Frameworks, 1 app
A PHP Christmas Miracle - 3 Frameworks, 1 appRyan Weaver
 
Symfony2: Get your project started
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project startedRyan Weaver
 
Symony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkRyan Weaver
 
Hands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkRyan Weaver
 
Being Dangerous with Twig (Symfony Live Paris)
Being Dangerous with Twig (Symfony Live Paris)Being Dangerous with Twig (Symfony Live Paris)
Being Dangerous with Twig (Symfony Live Paris)Ryan Weaver
 
Being Dangerous with Twig
Being Dangerous with TwigBeing Dangerous with Twig
Being Dangerous with TwigRyan Weaver
 
Doctrine2 In 10 Minutes
Doctrine2 In 10 MinutesDoctrine2 In 10 Minutes
Doctrine2 In 10 MinutesRyan Weaver
 
Dependency Injection: Make your enemies fear you
Dependency Injection: Make your enemies fear youDependency Injection: Make your enemies fear you
Dependency Injection: Make your enemies fear youRyan Weaver
 

Más de Ryan Weaver (20)

Webpack Encore Symfony Live 2017 San Francisco
Webpack Encore Symfony Live 2017 San FranciscoWebpack Encore Symfony Live 2017 San Francisco
Webpack Encore Symfony Live 2017 San Francisco
 
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017The Coolest Symfony Components you’ve never heard of - DrupalCon 2017
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017
 
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...
 
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and more
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreSymfony Guard Authentication: Fun with API Token, Social Login, JWT and more
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and more
 
Symfony: Your Next Microframework (SymfonyCon 2015)
Symfony: Your Next Microframework (SymfonyCon 2015)Symfony: Your Next Microframework (SymfonyCon 2015)
Symfony: Your Next Microframework (SymfonyCon 2015)
 
Guard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful SecurityGuard Authentication: Powerful, Beautiful Security
Guard Authentication: Powerful, Beautiful Security
 
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatGrand Rapids PHP Meetup: Behavioral Driven Development with Behat
Grand Rapids PHP Meetup: Behavioral Driven Development with Behat
 
Twig: Friendly Curly Braces Invade Your Templates!
Twig: Friendly Curly Braces Invade Your Templates!Twig: Friendly Curly Braces Invade Your Templates!
Twig: Friendly Curly Braces Invade Your Templates!
 
Master the New Core of Drupal 8 Now: with Symfony and Silex
Master the New Core of Drupal 8 Now: with Symfony and SilexMaster the New Core of Drupal 8 Now: with Symfony and Silex
Master the New Core of Drupal 8 Now: with Symfony and Silex
 
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itDrupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
 
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsCool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
 
The Wonderful World of Symfony Components
The Wonderful World of Symfony ComponentsThe Wonderful World of Symfony Components
The Wonderful World of Symfony Components
 
A PHP Christmas Miracle - 3 Frameworks, 1 app
A PHP Christmas Miracle - 3 Frameworks, 1 appA PHP Christmas Miracle - 3 Frameworks, 1 app
A PHP Christmas Miracle - 3 Frameworks, 1 app
 
Symfony2: Get your project started
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project started
 
Symony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP Framework
 
Hands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 Framework
 
Being Dangerous with Twig (Symfony Live Paris)
Being Dangerous with Twig (Symfony Live Paris)Being Dangerous with Twig (Symfony Live Paris)
Being Dangerous with Twig (Symfony Live Paris)
 
Being Dangerous with Twig
Being Dangerous with TwigBeing Dangerous with Twig
Being Dangerous with Twig
 
Doctrine2 In 10 Minutes
Doctrine2 In 10 MinutesDoctrine2 In 10 Minutes
Doctrine2 In 10 Minutes
 
Dependency Injection: Make your enemies fear you
Dependency Injection: Make your enemies fear youDependency Injection: Make your enemies fear you
Dependency Injection: Make your enemies fear you
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Silex: Microframework y camino fácil de aprender Symfony