Introducción a Silex 
Jorge Bailo Estallo 
Symfony Zaragoza 
14 de Octubre 2014 
J
Desarrollo de la Charla 
1. ¿Qué es Silex? 
2. Instalación 
3. Uso y casos prácticos 
4. Ejemplo real 
5. Enlaces recomendados 
6. Dudas 
7. ¿Birras?
¿Qué es Silex? 
1. Silex es un microframework desarrollado con PHP 5.3. 
2. Se basa en los mismos principios que Symfony2 y 
Pimple. 
3. Está inspirado por el microframework Sinatra de Ruby.
¿Por qué usarlo? 
● Desarrollo rápido de aplicaciones pequeñas y 
medianas. 
● Es mucho más fácil de aprender y usar que Symfony2. 
● Es fácil de testear. 
● Tiene todo lo bueno de Symfony pero a pequeña 
escala. 
● Adios al desarrollo a pelo.
Instalación 
● Descargar de silex.sensiolabs.org/download 
● Descomprimirlo 
$ curl -s http://getcomposer.org/installer | php 
$ php composer.phar install
Instalación Alternativa 
Versión de Fabien Potencier: 
● No es un único fichero. 
● Se divide en varios, teniendo el código más organizado. 
● Dispone de entorno de producción y desarrollo. 
● Recientemente se ha incorporado la barra de 
depuración (Profiler). 
$ php composer.phar create-project fabpot/silex-skeleton
Silex-skeleton / Directorios 
● cache: Directorio donde se almacenará la caché de Twig y el Profiler. 
● config: Aquí estará la configuración específica de cada entorno de 
desarrollo. 
● logs: Ficheros de log. 
● src: Código de la aplicación. 
● templates: plantillas de Twig. 
● web: directorio accesible vía web, estarán los controladores frontales y los 
assets. 
● index.php 
● index_dev.php
Silex-skeleton / Providers 
● UrlGeneratorServiceProvider: Servicio que se encarga de generar URL 
para rutas con nombre. 
● ValidatorServiceProvider: Servicio de validación de datos. 
● ServiceControllerServiceProvider: Servicio q permite crear fácilmente 
clases Controller para organizar mejor los controladores conforme crece la 
aplicación, aprovechar la inyección de dependencias y hacerlos más 
independientes de Silex, pudiendo en un futuro ser llevados a otra 
aplicación como Symfony2. 
● TwigServiceProvider: Servicio que se encarga de integrar la librería 
Twig.
Proveedores de Servicios 
● Formularios 
● Bases de Datos 
● Plantillas 
● Cachés 
● Email 
● Internacionalización 
● Seguridad 
● ...
Uso y Casos Prácticos 
● Blogs 
● API 
● Demos 
● ... 
1. Ejemplo de API 
2. Ejemplo de Portal Web
Ejemplo Real 
Slides 
● API Rest 
● Portal Web Cliente
Lecturas Recomendadas 
● Manual de Silex por Gitnacho 
● Documentación Silex SensioLabs 
● Documentación Silex Librosweb 
● Silex, desarrollo web ágil y profesional con PHP 
● Buenas prácticas oficiales de Symfony
Dudas 
¿Alguna Pregunta?
Fin 
MUCHAS GRACIAS POR VENIR 
VAMOS A TOMAR UNAS BIRRAS!

Introducción a Silex

  • 1.
    Introducción a Silex Jorge Bailo Estallo Symfony Zaragoza 14 de Octubre 2014 J
  • 2.
    Desarrollo de laCharla 1. ¿Qué es Silex? 2. Instalación 3. Uso y casos prácticos 4. Ejemplo real 5. Enlaces recomendados 6. Dudas 7. ¿Birras?
  • 3.
    ¿Qué es Silex? 1. Silex es un microframework desarrollado con PHP 5.3. 2. Se basa en los mismos principios que Symfony2 y Pimple. 3. Está inspirado por el microframework Sinatra de Ruby.
  • 4.
    ¿Por qué usarlo? ● Desarrollo rápido de aplicaciones pequeñas y medianas. ● Es mucho más fácil de aprender y usar que Symfony2. ● Es fácil de testear. ● Tiene todo lo bueno de Symfony pero a pequeña escala. ● Adios al desarrollo a pelo.
  • 5.
    Instalación ● Descargarde silex.sensiolabs.org/download ● Descomprimirlo $ curl -s http://getcomposer.org/installer | php $ php composer.phar install
  • 6.
    Instalación Alternativa Versiónde Fabien Potencier: ● No es un único fichero. ● Se divide en varios, teniendo el código más organizado. ● Dispone de entorno de producción y desarrollo. ● Recientemente se ha incorporado la barra de depuración (Profiler). $ php composer.phar create-project fabpot/silex-skeleton
  • 7.
    Silex-skeleton / Directorios ● cache: Directorio donde se almacenará la caché de Twig y el Profiler. ● config: Aquí estará la configuración específica de cada entorno de desarrollo. ● logs: Ficheros de log. ● src: Código de la aplicación. ● templates: plantillas de Twig. ● web: directorio accesible vía web, estarán los controladores frontales y los assets. ● index.php ● index_dev.php
  • 8.
    Silex-skeleton / Providers ● UrlGeneratorServiceProvider: Servicio que se encarga de generar URL para rutas con nombre. ● ValidatorServiceProvider: Servicio de validación de datos. ● ServiceControllerServiceProvider: Servicio q permite crear fácilmente clases Controller para organizar mejor los controladores conforme crece la aplicación, aprovechar la inyección de dependencias y hacerlos más independientes de Silex, pudiendo en un futuro ser llevados a otra aplicación como Symfony2. ● TwigServiceProvider: Servicio que se encarga de integrar la librería Twig.
  • 9.
    Proveedores de Servicios ● Formularios ● Bases de Datos ● Plantillas ● Cachés ● Email ● Internacionalización ● Seguridad ● ...
  • 10.
    Uso y CasosPrácticos ● Blogs ● API ● Demos ● ... 1. Ejemplo de API 2. Ejemplo de Portal Web
  • 11.
    Ejemplo Real Slides ● API Rest ● Portal Web Cliente
  • 12.
    Lecturas Recomendadas ●Manual de Silex por Gitnacho ● Documentación Silex SensioLabs ● Documentación Silex Librosweb ● Silex, desarrollo web ágil y profesional con PHP ● Buenas prácticas oficiales de Symfony
  • 13.
  • 14.
    Fin MUCHAS GRACIASPOR VENIR VAMOS A TOMAR UNAS BIRRAS!