Your SlideShare is downloading. ×
Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 06/02/2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introducción al microframework PHP Silex - Sergio Gómez - Betabeers Córdoba 06/02/2013

1,586
views

Published on

Introducción al microframework basado en Symfony 2 de PHP Silex por Sergio Gómez en el IV Betabeers Córdoba http://betabeers.com/event/4-betabeers-cordoba-626/

Introducción al microframework basado en Symfony 2 de PHP Silex por Sergio Gómez en el IV Betabeers Córdoba http://betabeers.com/event/4-betabeers-cordoba-626/

Published in: Education

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,586
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Programación con elmicroframework Silex Sergio Gómez (@sgomez) 4º Betabeers Córdoba - 6 febrero 2013
  • 2. Por si no me da tiempo...Página oficial de Silex: http://silex.sensiolabs.org/Página oficial de Symfony: http://symfony.com/Traducción del manual oficial de Silex: http://librosweb.es/silex/Gracias a Javier Eguiluz (@javiereguiluz): http://symfony.es/
  • 3. ¿Por qué usar un framework?
  • 4. ¿Por qué usar un framework?• Por escalabilidad y mantenimiento.• Reutilización de código.• Por seguridad.• Uso de patrones de diseño.
  • 5. ¿Por qué usar un framework libre?
  • 6. ¿Por qué usar un framework libre? Más allá de las consideraciones económicas.El software libre siempre tiene consideraciones éticas. ¿Por qué? Por honestidad con el cliente
  • 7. ¿Qué es Silex?• Microframework (basado en componentes de Symfony y en Pimple)• Inspirado en microframework Sinatra (ruby)• Conciso, extensible, testeable.• Programado con PHP5.3
  • 8. Frameworks y microframeworks• Frameworks: • Calidad contra facilidad. • Más potentes y funcionales.• Microframeworks: • Facilidad contra potencia. • Ágil.
  • 9. PHP5.3 es otro mundo
  • 10. Función normalfunction suma($a, $b) { return $a + $b;}
  • 11. Función anónima$suma = function($a, $b) { return $a + $b;};echo $suma(4, 5);
  • 12. Clausuras (Clausures) y ámbito$a=3;function ($b) { return $a + $b; // error}
  • 13. Clausuras (Clausures) y ámbito$a=3;function ($b) use ($a) { return $a + $b;}
  • 14. Silex. Cómo se instala.
  • 15. Composer, gestión de paquetes en PHPbash$ curl -s http://getcomposer.org/installer | php// instalación tradicionalbash$ php composer.phar create-project silex/silex carpeta --stability=dev// instalación del "esqueleto" de Silex creado por Fabien Potencier$ php composer.phar create-project fabpot/silex-skeleton carpeta --stability=dev
  • 16. Silex. Cómo funciona.
  • 17. Hola Mundorequire_once __DIR__./../vendor/autoload.php;$app = new SilexApplication();$app->get(/hola, function() { return Hola mundo;});$app->run();
  • 18. Rutas$app->get(/ , function () use ($app) { // ...});$app->get(/ruta, function () use ($app) { // ...});
  • 19. Rutas con variables$app->get(/speakers/{p1}/{p2}, function ($p1, $p2) use ($app) {// ...});
  • 20. Métodos HTTP$app->get(/ruta, function () use ($app) { ... });$app->post(/ruta, function () use ($app) { ... });$app->put(); $app->delete();$app->match(/ruta, function () use ($app) { ... });$app->match()->method(GET|POST);
  • 21. Acceso a la petición del usuariouse SymfonyComponentHttpFoundationRequest;$app->get(/ruta/{parametro}, function (Request $request, $parametro) { ... });$request->server->get(HTTP_USER_AGENT)$request->get(parametro)$request->getMethod()
  • 22. Modificar parámetros$app->get(/schedule/{slug}, function ($slug) use ($app){ ... })->convert(slug, function ($slug) { return strtolower($slug);});
  • 23. Restricción de parámetros$app->get(/schedule/{track}, function ($track) {// ...})->assert(track, d+);->assert(track, trackd+);->assert(track, 1|2);
  • 24. Parámetros por defecto$app->get(/schedule/{track}, function ($track) {// ...})->value(track, 1);
  • 25. Etiquetado de rutas$app->get(/ , function () use ($app) { // ...})->bind(portada);
  • 26. Middlewares
  • 27. Middlewares• De aplicación. Se ejecutan siempre.• De enrutamiento. Solo en la ruta asociada
  • 28. Middlewares de aplicación$app->before(function (Request $request) { ... });$app->before(function (Request $request) { ... },Application::EARLY_EVENT);$app->after(function (Request $request, Response$response) { ... });$app->finish(function (Request $request, Response$response) { ... });
  • 29. Middlewares de enrutamiento$app->get(/somewhere, function () { // ...})->before($before1)->before($before2)->after($after1)->after($after2);
  • 30. Silex es mucho más
  • 31. Proveedores de Servicios• Bases de datos• Formularios• Plantillas• Caché• Email• Internacionalización• Seguridad• ...
  • 32. Presentación más amplia en la web de Javier Eguiluzhttp://symfony.es/noticias/2013/01/30/silex- desarrollo-web-ágil-y-profesional-con-php/
  • 33. Aplicación de prueba miniblog
  • 34. Aplicación miniblog Está disponible en: https://github.com/sgomez/miniblog Una pequeña aplicación compuesta por un backendpara creación de contenido y un frontend para su visualización.
  • 35. ¡Gracias!¿Preguntas?
  • 36. Programación con elmicroframework Silex Sergio Gómez (@sgomez) 4º Betabeers Córdoba - 6 febrero 2013

×