Silex para aplicaciones web MVC

  • 1,065 views
Uploaded on

Mi charla en la unconference de DeSymfony2013.

Mi charla en la unconference de DeSymfony2013.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,065
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
18
Comments
0
Likes
1

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. Silex como framework MVC@asiermarquesSimettric.com + 4visionshq.comunconference
  • 2. SilexMicroframework PHP– Lo mínimo para dar una solución– Sencillo– Minimalismo– Pragmatismo
  • 3. La esencia del desarrollo webRequestGET /uriResponseStatus Code: 200Content-Type: text/html
  • 4. Lo que se suele escuchar…Silex es para proyectos pequeños.Symfony2 es para proyectos grandes.
  • 5. Dustin Whittle“Use silex if you arecomfortable with making allof your own architecturedecisions and full stackSymfony2 if not.”
  • 6. Fabien Potencier“A micro-framework is just about the bareminimum you need to get started. It letsyou decide which directory structure youwant, it lets you decide which feature youwant to enable, it lets decide how youwant to work.”
  • 7. Symfony2 VS SilexLa visión de Symfony2 es ahorrar la mayorproblemática posible al desarrollador.La visión de Silex es resolver la menorproblemática posible al desarrollador.Con Silex no se piensa tanto en cómo trabajarcon el framework para resolver problemas.
  • 8. Speakerin.com & Silex
  • 9. SpeakerIn.com• Desarrollado en 48horas en un #hackmitéhackmite.elcomite.org• Por dos personas: @fran_mosteiro y yo.– Viniendo de Java, Fran no tenía experiencia previa en php.• Elegimos Silex.– Porque somos de Bilbao, pero no tanto.
  • 10. Conclusiones• Terminamos el proyecto con éxito.http://speakerin.com• Usamos los proveedores básicos: sesión, swiftmailerpara conectar con mandrill.com.• Paris & Idiorm, como ORM.• No usamos el componente de seguridad.• No usamos controladores como clases.
  • 11. Demo
  • 12. ServiceProviders
  • 13. Los más comunes• Session• Form• SwiftMailer• Doctrine DBAL• Twig• Security
  • 14. Security Service Provider• Firewalls• UserProvider• ACL
  • 15. SilexApplication extends PimpleTodo es un $app[servicio]http://pimple.sensiolabs.org
  • 16. Escalar Silex• Estructura de directorios– composer.phar create-project fabpot/silex-skeleton• Controladores como clases– $app->get(/, NamespaceControlador::acción);• Grupos de rutas• Caché HTTP• ORM
  • 17. Grupos de rutas$blog = $app[controllers_factory];$blog->get(/, function() { … });$blog->post(/nuevo, function() { … });$blog->get(/comentarios, function() { … });$app->mount(/blog, $blog);
  • 18. HTTP Caché$app[cache]->run();• Proxy cache escrito en PHP• Soporta cabeceras y directrices de caché deHTTP• Soporte para ESI
  • 19. HTTP Caché: ESIPermiten incrustar código en nuestro HTML desde otra ubicación (url)
  • 20. HTTP Caché: ESIPermiten incrustar código en nuestro HTML desde otra ubicación (url)/account/user-vcard/cart/resume
  • 21. Opciones de ORMPor defecto, ningún ServiceProvider oficial.Doctrine:dflydev-doctrine-orm-service-providerPropel:PropelServiceProvider (oficial de Propel)
  • 22. Gracias!@asiermarques