Your SlideShare is downloading. ×
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
Myphp-busters: symfony framework (php|tek 09)
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

Myphp-busters: symfony framework (php|tek 09)

2,366

Published on

The slides for my "Myphp-busters: symfony framework" talk as done at the php|tek conference in Chicago

The slides for my "Myphp-busters: symfony framework" talk as done at the php|tek conference in Chicago

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,366
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
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. myphp-busters: symfony framework php|tek uncon 22-05-2009
  • 2. Adam Savage
  • 3. Jamie Hyneman
  • 4. Stefan Koopmanschap
  • 5. About me • Professional Services Consultant at Ibuildings • Husband, father of 2, slave of 6 • Symfony advocate • Initiator of SymfonyCamp • Founder of symfony-framework.nl • Plugin author/maintainer
  • 6. The myths: symfony is... • ... hard to learn • ... extremely coupled • ... not really programming, just configuration • ... restrictive • ... badly performing • ... the ultimate tool
  • 7. cc-by 2.0 http://www.flickr.com/photos/shonk/418180402/ Symfony is hard to learn
  • 8. Steep Learning Curve • Full-stack • MVC • ORM • YAML
  • 9. Great documentation • The Definitive Guide to symfony • Practical Symfony • Propel Edition • Doctrine Edition • Various other languages
  • 10. Great documentation • Official books in digital form • Forms in Action • symfony and Doctrine • The Cookbook • API documentation • Tutorials & Screencasts
  • 11. Community • IRC: #symfony on freenode • Forum • Mailinglists • Wiki • Snippets • Blog posts • Various local sites
  • 12. Symfony is hard to learn • Steep learning curve • Great documentation (online and offline) • Friendly and supportive community
  • 13. Symfony is hard to learn The Verdict
  • 14. cc-by 2.0 http://www.flickr.com/photos/u-suke/138067687/ Symfony is extremely coupled
  • 15. Perhaps in 1.0 • symfony was the glue between components • ORM integrated in the core • It was full-stack or nothing
  • 16. by-nc-nd 3.0 http://www.symfony-project.org/blog/2008/06/23/the-symfony-1-1-architecture symfony platform
  • 17. by-nc-nd 3.0 http://www.symfony-project.org/blog/2008/06/23/the-symfony-1-1-architecture platform and framework
  • 18. Symfony is extremely coupled by-nc-nd 3.0 http://www.symfony-project.org/blog/2009/02/18/dailymotion-powered-by-symfony
  • 19. Symfony is extremely coupled • 1.0 had quite some coupling • 1.1 introduced decoupling of the core: symfony platform • it is now possible to use core symfony classes without symfony
  • 20. Symfony is extremely coupled The Verdict
  • 21. symfony is not really programming, just configuration
  • 22. Just configuration is no fun
  • 23. Programming should be fun • No boring repetitive tasks • No standard stuff you did 100 times before • Write cool stuff • Focus on the cool parts
  • 24. Yes, there is configuration • To minimize the boring tasks • To ensure you don’t repeat yourself • To enable you to concentrate on complex logic
  • 25. So what is configured? • database credentials • caching • access control (authorization and authentication) • application specific values • routing • admin generator
  • 26. So where do I touch code? • Your custom complex business logic • Application specific controller code • View displays • Custom administration tasks • Your own libraries
  • 27. symfony is not really programming, just configuration The Verdict
  • 28. by-nc-sa 2.0 http://www.flickr.com/photos/two-wrongs/205467442/ symfony is restrictive
  • 29. symfony is restrictive • Default directory structure • Default set of classes • Default set of libraries • ORM included
  • 30. Default directory structure • Easily change the most important directory locations: • document root • cache directory • log directory • You usually don’t need to do this!
  • 31. Default set of classes • Default set offers most common uses • Easy to use your own custom class using configuration
  • 32. Default set of libraries • Default libraries • lime (unit testing) • prototype / scriptaculous • Dozens of plugins • jquery, dojo, extjs, YUI • PHPUnit
  • 33. ORM included • Propel is default • Doctrine is distributed with symfony • There is no need for an ORM
  • 34. You can just disable both!
  • 35. Hell, disable the database • When you don’t use the database • Models approach web services
  • 36. symfony is restrictive The Verdict
  • 37. Symfony is badly performing
  • 38. Symfony doesn’t perform
  • 39. Symfony doesn’t perform
  • 40. Disclaimer: No benchmarks!
  • 41. by-sa 2.0 http://www.flickr.com/photos/mattieb/131215442/
  • 42. Symfony doesn’t perform • Slow • Hard on the server
  • 43. Symfony doesn’t perform • Overhead • just like any framework • tweak it the right way
  • 44. Symfony doesn’t perform • Select your caching strategy • Page caching • Function caching • Query caching • Supercache!
  • 45. Cache
  • 46. Cache
  • 47. Symfony doesn’t perform • Turn off what you don’t need • ORM • Plugins • Database • Logging • Helpers
  • 48. Symfony doesn’t perform • Don’t believe me! • Yahoo! Answers • Delicious.com • DailyMotion.com
  • 49. Symfony is badly performing The Verdict
  • 50. by-nc-nd 2.0 http://www.flickr.com/photos/mandolux/34418046/ symfony is the ultimate tool
  • 51. Symfony is the ultimate tool • full-stack framework • based on MVC • automation of common tasks • supports agile approach • MIT license • DRY • All the buzzwords
  • 52. Symfony is the ultimate tool • Learning curve is more steep • Has to fit your project • Has to fit your project team • There is no single ultimate tool
  • 53. symfony is the ultimate tool The Verdict
  • 54. Reference • http://www.symfony-project.org/doc/ • http://www.symfony-project.org/blog/2008/06/23/ the-symfony-1-1-architecture • http://www.symfony-project.org/blog/2009/02/18/ dailymotion-powered-by-symfony • http://www.symfony-framework.nl/
  • 55. Questions? • http://joind.in/438 • http://www.leftontheweb.com/ • http://www.twitter.com/skoop • http://www.ibuildings.com/ • http://www.slideshare.net/skoop

×