silex: microframework y camino fácil de aprender symfony
DESCRIPTION
Ya quieres aprender Symfony? Bueno! Si eres en usuario de Drupal o si quieres aumentar sus habilidades, aprender Symfony puede ayudarte. Sin embargo, aprender Symfony puede ser difícil - y muchas ideas nuevas (pero buenas) como PHP namespaces, Composer, y código "object-oriented". Te presento a Silex: el Microframework que se construye por las mismos pedazos (HttpFoundation, HttpKernel, Composer, etc) como el Symfony Framework y Drupal 8. En esta charla, vamos a crear un mini-app con Silex para mostrarte como fácil puede ser y cuales partes son los mismos como Symfony y Drupal. Al fin, vas a estar listo entender Drupal 8 o crear su primer proyecto con Symfony. Y porque esta charla sería mi primera en español, puedas disfrutar esta aventura conmigo :).TRANSCRIPT
![Page 1: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/1.jpg)
PHP Tutorial Screencasts
Silex
Microframework y camino fácil de aprender
Symfony
![Page 2: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/2.jpg)
!
!
!
!
!!• 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!
![Page 3: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/3.jpg)
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
![Page 4: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/4.jpg)
Capítulo 1 !
La anatomía de cualquier web framework
![Page 5: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/5.jpg)
@weaverryan
![Page 6: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/6.jpg)
@weaverryan
Una aplicación compleja que nos
da saludos!
![Page 7: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/7.jpg)
Configure Apache
![Page 8: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/8.jpg)
O usen al web server nativo de PHP!
php -S localhost:8000
@weaverryan
![Page 9: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/9.jpg)
*Se puede usar este web server para Drupal también
![Page 10: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/10.jpg)
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
![Page 11: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/11.jpg)
Una ruta que coincide cuando el URI es
/hello/*@weaverryan
![Page 12: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/12.jpg)
Si el URI coincide la ruta, Silex ejecuta esta
función (el controller)
@weaverryan
![Page 13: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/13.jpg)
El valor de {name} se pasa como argumento
al controller
@weaverryan
![Page 14: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/14.jpg)
Construimos la pagina y celebrar!
@weaverryan
![Page 15: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/15.jpg)
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
![Page 16: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/16.jpg)
Capítulo 2 !
Request-Response
![Page 17: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/17.jpg)
Nuestro Trabajo: Entender el “request” y
crear un “response”
@weaverryan
![Page 18: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/18.jpg)
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
![Page 19: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/19.jpg)
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
![Page 20: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/20.jpg)
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
![Page 21: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/21.jpg)
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
![Page 22: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/22.jpg)
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
![Page 23: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/23.jpg)
En PHP, el “request” mensaje se deconstruye
a los “superglobals”
@weaverryan
![Page 24: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/24.jpg)
Para crear el response, usamos “header” y echo
content
@weaverryan
![Page 25: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/25.jpg)
@weaverryan
El Request en Silex
![Page 26: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/26.jpg)
@weaverryan
El Response en Silex
![Page 27: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/27.jpg)
Capítulo 3 !
Namespaces & Autoloading
https://www.flickr.com/photos/chrisjeriko/8599248142
![Page 28: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/28.jpg)
El controller puede ser cualquier función
![Page 29: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/29.jpg)
Controller como método en clase
@weaverryan
![Page 30: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/30.jpg)
Controller como método en clase
@weaverryan
![Page 31: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/31.jpg)
PHP Namespaces
@weaverryan
Namespaces nos da nombres max largos nombre: Drupal\acme\Controller\DemoController
![Page 32: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/32.jpg)
PHP Namespaces
@weaverryan
![Page 33: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/33.jpg)
Autoloading
@weaverryan
No se necesita usar require/include si: !
A. El namespace es igualal directorio
!
B. La clase es igual alnombre de archivo (+.php)
Se llama PSR-0
![Page 34: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/34.jpg)
Capítulo 4: !
Servicios y el “container”
![Page 35: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/35.jpg)
Servicios: Objetos útiles
@weaverryan
![Page 36: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/36.jpg)
El container: el objeto que contiene todos los servicios
@weaverryan
![Page 37: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/37.jpg)
En Silex, Symfony y Drupal 8, existe un “container”.
!
Si lo tienes, puede usar los servicios (objetos útiles)
![Page 38: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/38.jpg)
Podemos usar el servicio de Twig para render un template?
![Page 39: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/39.jpg)
@weaverryan
El “container” in SilexEl servicio “twig”
![Page 40: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/40.jpg)
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)
![Page 41: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/41.jpg)
Capítulo 5: !
Eventos
https://www.flickr.com/photos/bmp_creep/8064779382
![Page 42: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/42.jpg)
Como Drupal “hooks”, Silex tiene eventos
@weaverryan
![Page 43: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/43.jpg)
Puede decir a Silex: “Por favor, cuando
ocurra el evento XXXXX, ejecute esa función”
@weaverryan
![Page 44: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/44.jpg)
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
![Page 45: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/45.jpg)
@weaverryan
![Page 46: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/46.jpg)
@weaverryan
![Page 47: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/47.jpg)
Capítulo 6: !
El Profiler
https://www.flickr.com/photos/fukagawa/415772853
![Page 48: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/48.jpg)
Silex (por Symfony) tiene un “profiler”
@weaverryan
![Page 49: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/49.jpg)
@weaverryan
![Page 50: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/50.jpg)
Contiene muchísimo información, incluyendo
el “timeline”
@weaverryan
![Page 51: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/51.jpg)
@weaverryan
![Page 52: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/52.jpg)
1) kernel.request evento
2) Routing
3) Ejecuta el controller
4) Nuestro “listener” en kernel.view
![Page 53: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/53.jpg)
Capítulo 7: !
Todo lo mismo en Drupal 8
![Page 54: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/54.jpg)
Cómo podemos crear esto en Drupal 8?
![Page 55: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/55.jpg)
Gracias a mi amigo Jesus Olivas por ya tener blog
posts muy buenos
@jmolivas
jmolivas.com
![Page 61: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/61.jpg)
@weaverryan
![Page 62: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/62.jpg)
Tiene Drupal 8 un container con servicios?
![Page 63: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/63.jpg)
@weaverryan
El Container
![Page 64: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/64.jpg)
Donde se debe encuentra el container puede cambiar antes del fin de Drpual 8
@weaverryan
![Page 65: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/65.jpg)
@weaverryan
Pero sí hay un container !
Y sí continue todos los objetos útiles (servicios) de
Drupal
![Page 66: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/66.jpg)
Hay eventos como Silex?
![Page 67: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/67.jpg)
@weaverryan
¡Sí! Existen los mismos eventos y más
![Page 68: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/68.jpg)
1) Crear una clase “listener”
![Page 69: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/69.jpg)
![Page 70: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/70.jpg)
Se ejecuta al fin del request !
Añadimos JavaScript a cada pagina en el sitio
![Page 71: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/71.jpg)
2) Añadir un nuevo servicio al container
![Page 72: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/72.jpg)
@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
![Page 73: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/73.jpg)
@weaverryan
![Page 74: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/74.jpg)
Y existe el profiler?
![Page 75: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/75.jpg)
@weaverryan
https://drupal.org/project/webprofiler
![Page 76: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/76.jpg)
@weaverryan
https://drupal.org/project/webprofiler
![Page 77: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/77.jpg)
@weaverryan
https://drupal.org/project/webprofiler
![Page 78: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/78.jpg)
@weaverryan
https://drupal.org/project/webprofiler
![Page 79: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/79.jpg)
@weaverryan
https://drupal.org/project/webprofiler
![Page 80: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/80.jpg)
@weaverryan
https://drupal.org/project/webprofiler
![Page 81: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/81.jpg)
Capítulo 8 !
!
, y
![Page 82: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/82.jpg)
Temas Principales
• Request/Response !
• Routing/Controller !
• PHP Namespaces/Autoloading !
• Services/Container
• Events/Listeners
• Profiler
@weaverryan
Todos son iguales en Silex, Drupal y Symfony
![Page 83: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/83.jpg)
Se puede usar Silex para aprender Drupal
![Page 84: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/84.jpg)
Se puede usar Silex para aprender Symfony
![Page 85: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/85.jpg)
Se puede usar Symfony para aprender Drupal
![Page 86: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/86.jpg)
Al fin, tienen mas herramientas para cualquier problema
![Page 87: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/87.jpg)
PHP Tutorial Screencasts
Ryan Weaver @weaverryan
¡Gracias!
![Page 88: Silex: Microframework y camino fácil de aprender Symfony](https://reader034.vdocuments.site/reader034/viewer/2022050808/54b6b0f94a79597b0c8b45c7/html5/thumbnails/88.jpg)
@weaveryan @KnpUniversity