SlideShare una empresa de Scribd logo
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”
Silex: Microframework y camino fácil de aprender Symfony
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
Publicidad

Más contenido relacionado

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
Fabian Velasco
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nicolás Bello Camilletti
 
Codemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con MicronautCodemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con Micronaut
Iván López Martín
 
Webperf wordpress
Webperf wordpressWebperf wordpress
Webperf wordpress
La Salle BCN
 
Azure functions
Azure functionsAzure functions
Azure functions
Eduard Tomàs
 
Node-webkit
Node-webkitNode-webkit
Node-webkit
Jose Gratereaux
 
Distributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZHDistributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZH
Cesar 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 Z
wpbarcelona
 
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
 
02practica completa
02practica completa02practica completa
02practica completa
Miguel Angel Lopez Torralba
 
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
SolidQ
 
PowerShell para administradores
PowerShell para administradoresPowerShell para administradores
PowerShell para administradores
Pablo Campos
 
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
Nicolás Bello Camilletti
 
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
Pablo Pazos
 
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
Fabian Velasco
 
Codemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con MicronautCodemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con Micronaut
Ivá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 - PyZH
Cesar 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 Z
wpbarcelona
 
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 2012
SolidQ
 
PowerShell para administradores
PowerShell para administradoresPowerShell para administradores
PowerShell para administradores
Pablo 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 Framework
Pablo Pazos
 

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

Curso de php
Curso de phpCurso de php
Curso de php
Fabián Castillo Faune
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
angeles104
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
Asier Marqués
 
M1 introduccion a php
M1   introduccion a phpM1   introduccion a php
M1 introduccion a php
EDUARDLARA1
 
PHP IUTE
PHP IUTEPHP IUTE
PHP IUTE
guestefc95b
 
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
Arsys
 
Rendimiento extremo en php
Rendimiento extremo en phpRendimiento extremo en php
Rendimiento extremo en php
Francisco Javier Vazquez Umbria
 
Cherokee
CherokeeCherokee
Cherokee
Antonio Madrena
 
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
Raaulroodriguez
 
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
Pablo Godel
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
Wilian
 
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
MauricioGArmoa
 
Desarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y FoundationDesarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y Foundation
Lenin Alevski Huerta Arias
 
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
Juan Manuel Rodriguez Burgos
 
Nodejs.introduccion
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccion
killfill
 
Curso php-my sql-clase-2
Curso php-my sql-clase-2Curso php-my sql-clase-2
Curso php-my sql-clase-2
Juan Carlos Catura Arapa
 
Presentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.ARPresentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.AR
Bonsai Information Security
 
PROCESAMIENTO DE TEXTO A SEÑALES DE VOZ.pptx
PROCESAMIENTO DE TEXTO A SEÑALES DE VOZ.pptxPROCESAMIENTO DE TEXTO A SEÑALES DE VOZ.pptx
PROCESAMIENTO DE TEXTO A SEÑALES DE VOZ.pptx
ssuser7a08da
 
Curso php desde_cero
Curso php desde_ceroCurso php desde_cero
Curso php desde_cero
Jose Antonio Arias Luis
 
Php andmysql (1)
Php andmysql (1)Php andmysql (1)
Php andmysql (1)
Carolina Valdivieso
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
angeles104
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
Asier Marqués
 
M1 introduccion a php
M1   introduccion a phpM1   introduccion a php
M1 introduccion a php
EDUARDLARA1
 
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
Arsys
 
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
Raaulroodriguez
 
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
Pablo Godel
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
Wilian
 
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
MauricioGArmoa
 
Desarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y FoundationDesarrollo responsivo con CakePHP y Foundation
Desarrollo responsivo con CakePHP y Foundation
Lenin Alevski Huerta Arias
 
Nodejs.introduccion
Nodejs.introduccionNodejs.introduccion
Nodejs.introduccion
killfill
 
PROCESAMIENTO DE TEXTO A SEÑALES DE VOZ.pptx
PROCESAMIENTO DE TEXTO A SEÑALES DE VOZ.pptxPROCESAMIENTO DE TEXTO A SEÑALES DE VOZ.pptx
PROCESAMIENTO DE TEXTO A SEÑALES DE VOZ.pptx
ssuser7a08da
 
Publicidad

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
Ryan 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 2017
Ryan 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 more
Ryan 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 Security
Ryan 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 Behat
Ryan 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 Silex
Ryan 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 it
Ryan 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 Tools
Ryan Weaver
 
The Wonderful World of Symfony Components
The Wonderful World of Symfony ComponentsThe Wonderful World of Symfony Components
The Wonderful World of Symfony Components
Ryan 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 app
Ryan Weaver
 
Symfony2: Get your project started
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project started
Ryan Weaver
 
Symony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP Framework
Ryan Weaver
 
Hands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 Framework
Ryan 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 Twig
Ryan Weaver
 
Doctrine2 In 10 Minutes
Doctrine2 In 10 MinutesDoctrine2 In 10 Minutes
Doctrine2 In 10 Minutes
Ryan 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 you
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 Francisco
Ryan 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 2017
Ryan 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 more
Ryan 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 Security
Ryan 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 Behat
Ryan 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 Silex
Ryan 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 it
Ryan 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 Tools
Ryan Weaver
 
The Wonderful World of Symfony Components
The Wonderful World of Symfony ComponentsThe Wonderful World of Symfony Components
The Wonderful World of Symfony Components
Ryan 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 app
Ryan Weaver
 
Symfony2: Get your project started
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project started
Ryan Weaver
 
Symony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP FrameworkSymony2 A Next Generation PHP Framework
Symony2 A Next Generation PHP Framework
Ryan Weaver
 
Hands-on with the Symfony2 Framework
Hands-on with the Symfony2 FrameworkHands-on with the Symfony2 Framework
Hands-on with the Symfony2 Framework
Ryan 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 Twig
Ryan Weaver
 
Doctrine2 In 10 Minutes
Doctrine2 In 10 MinutesDoctrine2 In 10 Minutes
Doctrine2 In 10 Minutes
Ryan 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 you
Ryan Weaver
 
Publicidad

Último (20)

StacksTecnológicosInformaciónPresentación.pdf
StacksTecnológicosInformaciónPresentación.pdfStacksTecnológicosInformaciónPresentación.pdf
StacksTecnológicosInformaciónPresentación.pdf
SamuelMancebo2
 
presentacion-baterias-y-acumuladores-redox.pptx
presentacion-baterias-y-acumuladores-redox.pptxpresentacion-baterias-y-acumuladores-redox.pptx
presentacion-baterias-y-acumuladores-redox.pptx
CharlesBergeyre1
 
ES Artificial Intelligence by Slidesgo.pptx
ES Artificial Intelligence by Slidesgo.pptxES Artificial Intelligence by Slidesgo.pptx
ES Artificial Intelligence by Slidesgo.pptx
fraimelimarinez
 
Windows 12: El futuro PPTX and PDF file.pptx
Windows 12: El futuro PPTX and PDF file.pptxWindows 12: El futuro PPTX and PDF file.pptx
Windows 12: El futuro PPTX and PDF file.pptx
carloscubillos36
 
listado lideres funcionales para la formacion del coimite de riesgos.pptx
listado lideres funcionales para la formacion del coimite de riesgos.pptxlistado lideres funcionales para la formacion del coimite de riesgos.pptx
listado lideres funcionales para la formacion del coimite de riesgos.pptx
hirsoporteti
 
Windows 11 25H2 PPTX file: PDF y PPTX.pptx
Windows 11 25H2 PPTX file: PDF y PPTX.pptxWindows 11 25H2 PPTX file: PDF y PPTX.pptx
Windows 11 25H2 PPTX file: PDF y PPTX.pptx
carloscubillos36
 
Recurso educativo digital videos educativos
Recurso educativo digital  videos educativosRecurso educativo digital  videos educativos
Recurso educativo digital videos educativos
KARLAKARINABALDARRAG
 
Análisis de pagina web. Caso: D&D Inn Tibana Caracas, Catalonia Hotels & Res...
Análisis de pagina web.  Caso: D&D Inn Tibana Caracas, Catalonia Hotels & Res...Análisis de pagina web.  Caso: D&D Inn Tibana Caracas, Catalonia Hotels & Res...
Análisis de pagina web. Caso: D&D Inn Tibana Caracas, Catalonia Hotels & Res...
alondramedina2025
 
SeguridadCookiesInformacionLegalPresentación.pdf
SeguridadCookiesInformacionLegalPresentación.pdfSeguridadCookiesInformacionLegalPresentación.pdf
SeguridadCookiesInformacionLegalPresentación.pdf
SamuelMancebo2
 
Habilidades digitales Taller Ciberseguridad
Habilidades digitales Taller CiberseguridadHabilidades digitales Taller Ciberseguridad
Habilidades digitales Taller Ciberseguridad
juandavidmahechafier
 
HABILIDADES DIGITALES - CIBERSEGURIDAD.pdf
HABILIDADES DIGITALES - CIBERSEGURIDAD.pdfHABILIDADES DIGITALES - CIBERSEGURIDAD.pdf
HABILIDADES DIGITALES - CIBERSEGURIDAD.pdf
jairocaviedes1
 
Cavada PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 01.pdf
Cavada  PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 01.pdfCavada  PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 01.pdf
Cavada PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 01.pdf
brueghel
 
MÓDULO I. (conceptos generales de higiene ocupacional)
MÓDULO I. (conceptos generales de higiene ocupacional)MÓDULO I. (conceptos generales de higiene ocupacional)
MÓDULO I. (conceptos generales de higiene ocupacional)
AimeeCoronel2
 
Riesgos Ergonómicos y Riesgos Psicosociales
Riesgos Ergonómicos y Riesgos PsicosocialesRiesgos Ergonómicos y Riesgos Psicosociales
Riesgos Ergonómicos y Riesgos Psicosociales
AimeeCoronel2
 
Diseño de una red de comunicaciones en una vivienda.pptx
Diseño de una red de comunicaciones en una vivienda.pptxDiseño de una red de comunicaciones en una vivienda.pptx
Diseño de una red de comunicaciones en una vivienda.pptx
dvdgrcbd
 
Redes industriales yde instrumentacion.pptx
Redes industriales yde instrumentacion.pptxRedes industriales yde instrumentacion.pptx
Redes industriales yde instrumentacion.pptx
TeresitaXalapa
 
Cavada PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 02.pdf
Cavada  PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 02.pdfCavada  PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 02.pdf
Cavada PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 02.pdf
brueghel
 
SISTEMAS OPERATIVOS, LA MAGIA DE LA TECNOLOGIA
SISTEMAS OPERATIVOS, LA MAGIA DE LA TECNOLOGIASISTEMAS OPERATIVOS, LA MAGIA DE LA TECNOLOGIA
SISTEMAS OPERATIVOS, LA MAGIA DE LA TECNOLOGIA
IVAN CAMPUZANO
 
Presentación Proyecto de las Primeras Civilizaciones Mesopotamia – Egipto – ...
Presentación Proyecto de las Primeras Civilizaciones  Mesopotamia – Egipto – ...Presentación Proyecto de las Primeras Civilizaciones  Mesopotamia – Egipto – ...
Presentación Proyecto de las Primeras Civilizaciones Mesopotamia – Egipto – ...
DiosymarSuarez
 
taller 5 ciberseguridad habilidades digitales
taller 5 ciberseguridad habilidades digitalestaller 5 ciberseguridad habilidades digitales
taller 5 ciberseguridad habilidades digitales
juancardenaslosada
 
StacksTecnológicosInformaciónPresentación.pdf
StacksTecnológicosInformaciónPresentación.pdfStacksTecnológicosInformaciónPresentación.pdf
StacksTecnológicosInformaciónPresentación.pdf
SamuelMancebo2
 
presentacion-baterias-y-acumuladores-redox.pptx
presentacion-baterias-y-acumuladores-redox.pptxpresentacion-baterias-y-acumuladores-redox.pptx
presentacion-baterias-y-acumuladores-redox.pptx
CharlesBergeyre1
 
ES Artificial Intelligence by Slidesgo.pptx
ES Artificial Intelligence by Slidesgo.pptxES Artificial Intelligence by Slidesgo.pptx
ES Artificial Intelligence by Slidesgo.pptx
fraimelimarinez
 
Windows 12: El futuro PPTX and PDF file.pptx
Windows 12: El futuro PPTX and PDF file.pptxWindows 12: El futuro PPTX and PDF file.pptx
Windows 12: El futuro PPTX and PDF file.pptx
carloscubillos36
 
listado lideres funcionales para la formacion del coimite de riesgos.pptx
listado lideres funcionales para la formacion del coimite de riesgos.pptxlistado lideres funcionales para la formacion del coimite de riesgos.pptx
listado lideres funcionales para la formacion del coimite de riesgos.pptx
hirsoporteti
 
Windows 11 25H2 PPTX file: PDF y PPTX.pptx
Windows 11 25H2 PPTX file: PDF y PPTX.pptxWindows 11 25H2 PPTX file: PDF y PPTX.pptx
Windows 11 25H2 PPTX file: PDF y PPTX.pptx
carloscubillos36
 
Recurso educativo digital videos educativos
Recurso educativo digital  videos educativosRecurso educativo digital  videos educativos
Recurso educativo digital videos educativos
KARLAKARINABALDARRAG
 
Análisis de pagina web. Caso: D&D Inn Tibana Caracas, Catalonia Hotels & Res...
Análisis de pagina web.  Caso: D&D Inn Tibana Caracas, Catalonia Hotels & Res...Análisis de pagina web.  Caso: D&D Inn Tibana Caracas, Catalonia Hotels & Res...
Análisis de pagina web. Caso: D&D Inn Tibana Caracas, Catalonia Hotels & Res...
alondramedina2025
 
SeguridadCookiesInformacionLegalPresentación.pdf
SeguridadCookiesInformacionLegalPresentación.pdfSeguridadCookiesInformacionLegalPresentación.pdf
SeguridadCookiesInformacionLegalPresentación.pdf
SamuelMancebo2
 
Habilidades digitales Taller Ciberseguridad
Habilidades digitales Taller CiberseguridadHabilidades digitales Taller Ciberseguridad
Habilidades digitales Taller Ciberseguridad
juandavidmahechafier
 
HABILIDADES DIGITALES - CIBERSEGURIDAD.pdf
HABILIDADES DIGITALES - CIBERSEGURIDAD.pdfHABILIDADES DIGITALES - CIBERSEGURIDAD.pdf
HABILIDADES DIGITALES - CIBERSEGURIDAD.pdf
jairocaviedes1
 
Cavada PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 01.pdf
Cavada  PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 01.pdfCavada  PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 01.pdf
Cavada PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 01.pdf
brueghel
 
MÓDULO I. (conceptos generales de higiene ocupacional)
MÓDULO I. (conceptos generales de higiene ocupacional)MÓDULO I. (conceptos generales de higiene ocupacional)
MÓDULO I. (conceptos generales de higiene ocupacional)
AimeeCoronel2
 
Riesgos Ergonómicos y Riesgos Psicosociales
Riesgos Ergonómicos y Riesgos PsicosocialesRiesgos Ergonómicos y Riesgos Psicosociales
Riesgos Ergonómicos y Riesgos Psicosociales
AimeeCoronel2
 
Diseño de una red de comunicaciones en una vivienda.pptx
Diseño de una red de comunicaciones en una vivienda.pptxDiseño de una red de comunicaciones en una vivienda.pptx
Diseño de una red de comunicaciones en una vivienda.pptx
dvdgrcbd
 
Redes industriales yde instrumentacion.pptx
Redes industriales yde instrumentacion.pptxRedes industriales yde instrumentacion.pptx
Redes industriales yde instrumentacion.pptx
TeresitaXalapa
 
Cavada PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 02.pdf
Cavada  PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 02.pdfCavada  PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 02.pdf
Cavada PROCESO DE INTEGRACIÓN DE LA COLONIA FLAMENCA 02.pdf
brueghel
 
SISTEMAS OPERATIVOS, LA MAGIA DE LA TECNOLOGIA
SISTEMAS OPERATIVOS, LA MAGIA DE LA TECNOLOGIASISTEMAS OPERATIVOS, LA MAGIA DE LA TECNOLOGIA
SISTEMAS OPERATIVOS, LA MAGIA DE LA TECNOLOGIA
IVAN CAMPUZANO
 
Presentación Proyecto de las Primeras Civilizaciones Mesopotamia – Egipto – ...
Presentación Proyecto de las Primeras Civilizaciones  Mesopotamia – Egipto – ...Presentación Proyecto de las Primeras Civilizaciones  Mesopotamia – Egipto – ...
Presentación Proyecto de las Primeras Civilizaciones Mesopotamia – Egipto – ...
DiosymarSuarez
 
taller 5 ciberseguridad habilidades digitales
taller 5 ciberseguridad habilidades digitalestaller 5 ciberseguridad habilidades digitales
taller 5 ciberseguridad habilidades digitales
juancardenaslosada
 

Silex: Microframework y camino fácil de aprender Symfony