SlideShare una empresa de Scribd logo
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!

Más contenido relacionado

La actualidad más candente

Composer & SemVer
Composer & SemVerComposer & SemVer
Composer & SemVer
Alejandro Celaya Alastrué
 
01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )
Jairo Hoyos
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
Rafael Lobo
 
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windowslección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
Jairo Hoyos
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
Anayely Priincess
 
Introducción a Symfony
Introducción a Symfony Introducción a Symfony
Introducción a Symfony
Marcos Quesada
 
Testing con selenium
Testing con seleniumTesting con selenium
Testing con seleniummarianoshin
 
Laravel 4.2 pdf
Laravel 4.2 pdfLaravel 4.2 pdf
Laravel 4.2 pdf
ALDEN_HERRE
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
Facundo E. Goñi Perez
 
7 Razones para usar funciones PHP - Desarrollo web en php
7 Razones para usar funciones PHP - Desarrollo web en php7 Razones para usar funciones PHP - Desarrollo web en php
7 Razones para usar funciones PHP - Desarrollo web en php
NicolasRomeroLds
 
PHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebPHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad Web
Rightster
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
Jorge Antonio Linares Vera
 
Meetup V.E.No.M. y docker
Meetup V.E.No.M. y dockerMeetup V.E.No.M. y docker
Meetup V.E.No.M. y docker
Manuel Juan Fosela Aguila
 
SerializacióN Part 2
SerializacióN Part 2SerializacióN Part 2
SerializacióN Part 2kayrambal
 
PHP Avanzado: Patrones de diseño
PHP Avanzado: Patrones de diseñoPHP Avanzado: Patrones de diseño
PHP Avanzado: Patrones de diseño
Rightster
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
Irontec
 

La actualidad más candente (20)

Composer & SemVer
Composer & SemVerComposer & SemVer
Composer & SemVer
 
01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windowslección 02- creación de Virtual Host laravel 5 + Xampp + Windows
lección 02- creación de Virtual Host laravel 5 + Xampp + Windows
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
 
Introducción a Symfony
Introducción a Symfony Introducción a Symfony
Introducción a Symfony
 
Testing con selenium
Testing con seleniumTesting con selenium
Testing con selenium
 
Laravel 4.2 pdf
Laravel 4.2 pdfLaravel 4.2 pdf
Laravel 4.2 pdf
 
Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
 
Selenium
SeleniumSelenium
Selenium
 
Decompiladores
Decompiladores Decompiladores
Decompiladores
 
7 Razones para usar funciones PHP - Desarrollo web en php
7 Razones para usar funciones PHP - Desarrollo web en php7 Razones para usar funciones PHP - Desarrollo web en php
7 Razones para usar funciones PHP - Desarrollo web en php
 
PHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebPHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad Web
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Meetup V.E.No.M. y docker
Meetup V.E.No.M. y dockerMeetup V.E.No.M. y docker
Meetup V.E.No.M. y docker
 
Clase1:PHP
Clase1:PHPClase1:PHP
Clase1:PHP
 
Php (hipertex pre processor)
Php (hipertex pre processor)Php (hipertex pre processor)
Php (hipertex pre processor)
 
SerializacióN Part 2
SerializacióN Part 2SerializacióN Part 2
SerializacióN Part 2
 
PHP Avanzado: Patrones de diseño
PHP Avanzado: Patrones de diseñoPHP Avanzado: Patrones de diseño
PHP Avanzado: Patrones de diseño
 
Introducción a Zend Framework
Introducción a Zend FrameworkIntroducción a Zend Framework
Introducción a Zend Framework
 

Destacado

Silex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHPSilex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHP
Javier Eguiluz
 
Sculpin
SculpinSculpin
Introducción a Symfony2
Introducción a Symfony2Introducción a Symfony2
Introducción a Symfony2
Symfony Zaragoza
 
Create - Decoupled CMS interface
Create - Decoupled CMS interfaceCreate - Decoupled CMS interface
Create - Decoupled CMS interface
Henri Bergius
 
diapositivas sobre internet
diapositivas sobre internetdiapositivas sobre internet
diapositivas sobre internetguest56bbb9
 
Fashion shoot
Fashion shoot Fashion shoot
Fashion shoot
brianah737
 
Artshirt Prospekt Design Fantasie von Christian Busse & Sonia Oquendo
Artshirt Prospekt Design Fantasie von Christian Busse & Sonia OquendoArtshirt Prospekt Design Fantasie von Christian Busse & Sonia Oquendo
Artshirt Prospekt Design Fantasie von Christian Busse & Sonia Oquendo
Sonia Oquendo
 
Ornith und der Kormoran - Eine kurze Einführung
Ornith und der Kormoran - Eine kurze EinführungOrnith und der Kormoran - Eine kurze Einführung
Ornith und der Kormoran - Eine kurze Einführung
Ornith GmbH
 
ch.ch 2020
ch.ch 2020 ch.ch 2020
ch.ch 2020 ch.ch
 
Documento presentado hoy en la mesa del convenio
Documento presentado hoy en la mesa del convenioDocumento presentado hoy en la mesa del convenio
Documento presentado hoy en la mesa del convenioHilario Sánchez Díaz
 
Estress laboral
Estress laboralEstress laboral
Estress laboral
Gina Colin
 
Fichas políticas 4 Periodo
Fichas políticas 4 PeriodoFichas políticas 4 Periodo
Fichas políticas 4 Periodo
Nery2342
 
Das lange Warten hat ein Ende: LG hat jetzt Android 4.0 für das Optimus Speed...
Das lange Warten hat ein Ende: LG hat jetzt Android 4.0 für das Optimus Speed...Das lange Warten hat ein Ende: LG hat jetzt Android 4.0 für das Optimus Speed...
Das lange Warten hat ein Ende: LG hat jetzt Android 4.0 für das Optimus Speed...
Kristy AussieBatt
 
Porsche Cayenne
Porsche CayennePorsche Cayenne
Porsche Cayenne
ichwillmeinautoloswerden
 
Marktinfo Japan 2015
Marktinfo Japan 2015Marktinfo Japan 2015
Marktinfo Japan 2015
Austrian National Tourist Office
 
Netbaes 28 01-2013
Netbaes 28 01-2013Netbaes 28 01-2013
Netbaes 28 01-2013BrainSourcer
 
Trabajo de sistemas operativos
Trabajo de sistemas operativosTrabajo de sistemas operativos
Trabajo de sistemas operativos
Novato de la Weeb Fox Weeb
 
El campo de concentración de Dachau
El campo de concentración de DachauEl campo de concentración de Dachau
El campo de concentración de Dachau
pequeni
 

Destacado (20)

Silex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHPSilex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHP
 
Sculpin
SculpinSculpin
Sculpin
 
Introducción a Symfony2
Introducción a Symfony2Introducción a Symfony2
Introducción a Symfony2
 
Create - Decoupled CMS interface
Create - Decoupled CMS interfaceCreate - Decoupled CMS interface
Create - Decoupled CMS interface
 
Silex
SilexSilex
Silex
 
diapositivas sobre internet
diapositivas sobre internetdiapositivas sobre internet
diapositivas sobre internet
 
Fashion shoot
Fashion shoot Fashion shoot
Fashion shoot
 
Artshirt Prospekt Design Fantasie von Christian Busse & Sonia Oquendo
Artshirt Prospekt Design Fantasie von Christian Busse & Sonia OquendoArtshirt Prospekt Design Fantasie von Christian Busse & Sonia Oquendo
Artshirt Prospekt Design Fantasie von Christian Busse & Sonia Oquendo
 
Ornith und der Kormoran - Eine kurze Einführung
Ornith und der Kormoran - Eine kurze EinführungOrnith und der Kormoran - Eine kurze Einführung
Ornith und der Kormoran - Eine kurze Einführung
 
ch.ch 2020
ch.ch 2020 ch.ch 2020
ch.ch 2020
 
Documento presentado hoy en la mesa del convenio
Documento presentado hoy en la mesa del convenioDocumento presentado hoy en la mesa del convenio
Documento presentado hoy en la mesa del convenio
 
Estress laboral
Estress laboralEstress laboral
Estress laboral
 
Fichas políticas 4 Periodo
Fichas políticas 4 PeriodoFichas políticas 4 Periodo
Fichas políticas 4 Periodo
 
Das lange Warten hat ein Ende: LG hat jetzt Android 4.0 für das Optimus Speed...
Das lange Warten hat ein Ende: LG hat jetzt Android 4.0 für das Optimus Speed...Das lange Warten hat ein Ende: LG hat jetzt Android 4.0 für das Optimus Speed...
Das lange Warten hat ein Ende: LG hat jetzt Android 4.0 für das Optimus Speed...
 
Binder1
Binder1Binder1
Binder1
 
Porsche Cayenne
Porsche CayennePorsche Cayenne
Porsche Cayenne
 
Marktinfo Japan 2015
Marktinfo Japan 2015Marktinfo Japan 2015
Marktinfo Japan 2015
 
Netbaes 28 01-2013
Netbaes 28 01-2013Netbaes 28 01-2013
Netbaes 28 01-2013
 
Trabajo de sistemas operativos
Trabajo de sistemas operativosTrabajo de sistemas operativos
Trabajo de sistemas operativos
 
El campo de concentración de Dachau
El campo de concentración de DachauEl campo de concentración de Dachau
El campo de concentración de Dachau
 

Similar a Introducción a Silex

Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo web
IEBSchool
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
Edgar Dueñas
 
Introducción a Silex. Aprendiendo a hacer las cosas bien en PHP
Introducción a Silex. Aprendiendo a hacer las cosas bien en PHPIntroducción a Silex. Aprendiendo a hacer las cosas bien en PHP
Introducción a Silex. Aprendiendo a hacer las cosas bien en PHP
Daniel Primo
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
Gerardo Linares
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
excedesoft
 
Symfony
SymfonySymfony
Instalacion dreamviewer
Instalacion dreamviewerInstalacion dreamviewer
Instalacion dreamviewer
Wilman Kdnita
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
SUGES (SharePoint Users Group España)
 
Symfony
SymfonySymfony
Symfony
alphalinux
 
Febrero 2009 - Presentación PFC AGritos!
Febrero 2009 - Presentación PFC AGritos!Febrero 2009 - Presentación PFC AGritos!
Febrero 2009 - Presentación PFC AGritos!
Isidro Merayo Castellano
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
Ivan Ortega
 
Atix30
Atix30Atix30
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012Asier Marqués
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Freelancer
 
Zend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, ColombiaZend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, Colombia
razigal
 
Arquitectura de microservicios
Arquitectura de microserviciosArquitectura de microservicios
Arquitectura de microservicios
Felix Liberio
 
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
 

Similar a Introducción a Silex (20)

Symfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo webSymfony2 un framework para maximizar tu productividad en desarrollo web
Symfony2 un framework para maximizar tu productividad en desarrollo web
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
Introducción a Silex. Aprendiendo a hacer las cosas bien en PHP
Introducción a Silex. Aprendiendo a hacer las cosas bien en PHPIntroducción a Silex. Aprendiendo a hacer las cosas bien en PHP
Introducción a Silex. Aprendiendo a hacer las cosas bien en PHP
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
Symfony
SymfonySymfony
Symfony
 
Instalacion dreamviewer
Instalacion dreamviewerInstalacion dreamviewer
Instalacion dreamviewer
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Symfony
SymfonySymfony
Symfony
 
Python
PythonPython
Python
 
Febrero 2009 - Presentación PFC AGritos!
Febrero 2009 - Presentación PFC AGritos!Febrero 2009 - Presentación PFC AGritos!
Febrero 2009 - Presentación PFC AGritos!
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
 
Atix30
Atix30Atix30
Atix30
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y AngularDesarrollo Web Ágil con Symfony, Bootstrap y Angular
Desarrollo Web Ágil con Symfony, Bootstrap y Angular
 
Zend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, ColombiaZend Framework Taller de SeeD Software, Colombia
Zend Framework Taller de SeeD Software, Colombia
 
Arquitectura de microservicios
Arquitectura de microserviciosArquitectura de microservicios
Arquitectura de microservicios
 
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
 
Symfony
SymfonySymfony
Symfony
 
Symfony
SymfonySymfony
Symfony
 

Último

FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIOFISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
DarwinNestorArapaQui
 
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.docSistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
LuisEnriqueCarboneDe
 
EduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptxEduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptx
Elizabeth Mejia
 
Presentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivoPresentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivo
juanlemus11122
 
WordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPressWordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPress
Fernando Tellado
 
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASAEXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
Javier Lasa
 
INSTITUTO AUCARA SEMANA NUMERO 7 AGROPECUARIA I
INSTITUTO AUCARA SEMANA NUMERO 7 AGROPECUARIA IINSTITUTO AUCARA SEMANA NUMERO 7 AGROPECUARIA I
INSTITUTO AUCARA SEMANA NUMERO 7 AGROPECUARIA I
CESAR MIJAEL ESPINOZA SALAZAR
 
fase 4-Estudio de la geometria analitica[1].pptx
fase 4-Estudio de la geometria analitica[1].pptxfase 4-Estudio de la geometria analitica[1].pptx
fase 4-Estudio de la geometria analitica[1].pptx
QuerubinOlayamedina
 
Los derechos de autor y Ética Profesional
Los derechos de autor y Ética ProfesionalLos derechos de autor y Ética Profesional
Los derechos de autor y Ética Profesional
bgonzalezm20
 

Último (9)

FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIOFISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
 
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.docSistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
 
EduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptxEduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptx
 
Presentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivoPresentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivo
 
WordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPressWordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPress
 
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASAEXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
 
INSTITUTO AUCARA SEMANA NUMERO 7 AGROPECUARIA I
INSTITUTO AUCARA SEMANA NUMERO 7 AGROPECUARIA IINSTITUTO AUCARA SEMANA NUMERO 7 AGROPECUARIA I
INSTITUTO AUCARA SEMANA NUMERO 7 AGROPECUARIA I
 
fase 4-Estudio de la geometria analitica[1].pptx
fase 4-Estudio de la geometria analitica[1].pptxfase 4-Estudio de la geometria analitica[1].pptx
fase 4-Estudio de la geometria analitica[1].pptx
 
Los derechos de autor y Ética Profesional
Los derechos de autor y Ética ProfesionalLos derechos de autor y Ética Profesional
Los derechos de autor y Ética Profesional
 

Introducción a Silex

  • 1. Introducción a Silex Jorge Bailo Estallo Symfony Zaragoza 14 de Octubre 2014 J
  • 2. 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?
  • 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 ● Descargar de silex.sensiolabs.org/download ● Descomprimirlo $ curl -s http://getcomposer.org/installer | php $ php composer.phar install
  • 6. 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
  • 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 Casos Prá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
  • 14. Fin MUCHAS GRACIAS POR VENIR VAMOS A TOMAR UNAS BIRRAS!