symfony 1.1 goodness (Dutch PHP Conference 2008)

6,231 views
6,141 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,231
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

symfony 1.1 goodness (Dutch PHP Conference 2008)

  1. 1. Fabien Potencier symfony symfony 1.1 goodness
  2. 2. Who am I? •  Founder of Sensio – Web Agency – Since 1998 – 45 people – Open-Source Specialists – Big corporate customers •  Creator and lead developer of symfony
  3. 3. symfony •  PHP Web framework •  Based on – 10 years of Sensio experience – Existing Open-Source projects •  MIT license •  Documentation is Open-Source •  Great community
  4. 4. Maintainability Standardization Faster & Better
  5. 5. « entreprise » version
  6. 6. Version 1.0 released early 2007 – Maintained for 3 years (early 2010) – ~1 release a month (1.0.16 now) • Bug and security fixes, compatibility with new PHP versions fixes • No new features (even small ones) • Upgrading is simple and safe
  7. 7. Version 1.1 to be released this month – Maintained for 1 year – Same release cycle as 1.0 Roadmap – Version 1.2 Q4 2008 – Version 1.3 Q1 2009
  8. 8. symfony is a set of cohesive but decoupled classes
  9. 9. symfony platform
  10. 10. http://localhost/index.php! http://localhost/index.php?name=Fabien! Hello Fabien Hello World
  11. 11. http://localhost/hello/Fabien! Hello Fabien http://localhost/index.php?name=Fabien! http://localhost/index.php/hello/Fabien!
  12. 12. sfEventDispatcher // sfPatternRouting! $callback = array($this, ’filterParameters‘);! $dispatcher->connect(’request.filter_parameters‘, $callback);! // sfWebRequest! $event = new sfEvent($this, ‘request.filter_parameters’);! $dispatcher->filter($event, $parameters);! •  sfPatternRouting and sfWebRequest are decoupled •  « Anybody » can listen to any event •  You can notify existing events or create new ones
  13. 13. Some events application.log application.throw_exception context.load_factories request.filter_parameters user.change_culture controller.page_not_found response.filter_content view.cache.filter_content *.method_not_found
  14. 14. symfony platform
  15. 15. the symfony MVC framework is based on the symfony platform
  16. 16. symfony 1.1 new features and enhancements
  17. 17. CLI •  Rewritten from scratch – OOP – Arguments and options management – Extensible – Built-it help
  18. 18. Tests •  Better m2m support in fixtures •  File upload support •  CSS3 selectors •  New shortcuts (isUserCulture, isRequestFormat)
  19. 19. m2m fixtures
  20. 20. m2m fixtures
  21. 21. m2m fixtures
  22. 22. File upload support
  23. 23. CSS3 selectors
  24. 24. Forms •  OOP •  Flexible and customizable •  MVC based (Validator, Widget, Form) •  Easy to embed forms •  Secure •  Fully integrated with Propel and Doctrine •  Useable without symfony
  25. 25. Propel Form The model is introspected to generate form classes
  26. 26. Native multi-format support •  A request has a format (HTML by default) css, js, xml, atom, json, … •  Same controller and model •  Different templates (layouts/partials/components) •  Easy to implement a new format (iPhone) http://www.symfony-project.org/cookbook/1_1/en/iphone!
  27. 27. xml json css js text/xml, application/xml, application/x-xml application/json, application/x-json text/css application/javascript, application/x-javascript
  28. 28. Questions?
  29. 29. Sensio S.A. 26, rue Salomon de Rothschild 92 286 Suresnes Cedex FRANCE Tél. : +33 1 40 99 80 80 Contact Fabien Potencier fabien.potencier@sensio.com http://www.sensiolabs.com/ http://www.symfony-project.org/

×