Myphp-busters: symfony framework

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    8 Favorites & 4 Groups

    Myphp-busters: symfony framework - Presentation Transcript

    1. myphp-busters: symfony framework PHP Conference UK 27-02-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. What I want to prove... • symfony is not crap • symfony fits in of pookey’s 10%
    8. Pookey’s 10%
    9. Pookey’s 10% <pookey> PHP is a fucking filthy horrible language in 90% of usecases.
    10. Pookey’s 10% <pookey> PHP is a fucking filthy horrible language in 90% of usecases. <pookey> I will back that up with NOTHING
    11. Pookey’s 10% <pookey> PHP is a fucking filthy horrible language in 90% of usecases. <pookey> I will back that up with NOTHING <pookey> but it's FACT
    12. Pookey’s 10% <pookey> PHP is a fucking filthy horrible language in 90% of usecases. <pookey> I will back that up with NOTHING <pookey> but it's FACT If you disagree: he’s here
    13. Pookey’s 10% <pookey> PHP is a fucking filthy horrible language in 90% of usecases. <pookey> I will back that up with NOTHING <pookey> but it's FACT If you disagree: he’s here
    14. cc-by 2.0 http://www.flickr.com/photos/shonk/418180402/ Symfony is hard to learn
    15. Steep Learning Curve • Full-stack • MVC • ORM • YAML
    16. Great documentation • The Definitive Guide to symfony • Practical Symfony • Propel Edition • Doctrine Edition • Various other languages
    17. Great documentation • Official books in digital form • Forms in Action • symfony and Doctrine • The Cookbook • API documentation • Tutorials & Screencasts
    18. Community • IRC: #symfony on freenode • Forum • Mailinglists • Wiki • Snippets • Blog posts • Various local sites
    19. Symfony is hard to learn • Steep learning curve • Great documentation (online and offline) • Friendly and supportive community
    20. Symfony is hard to learn The Verdict
    21. Symfony is hard to learn The Verdict
    22. Symfony is hard to learn The Verdict
    23. cc-by 2.0 http://www.flickr.com/photos/u-suke/138067687/ Symfony is extremely coupled
    24. Perhaps in 1.0 • symfony was the glue between components • ORM integrated in the core • It was full-stack or nothing
    25. by-nc-nd 3.0 http://www.symfony-project.org/blog/2008/06/23/the-symfony-1-1-architecture symfony platform
    26. by-nc-nd 3.0 http://www.symfony-project.org/blog/2008/06/23/the-symfony-1-1-architecture platform and framework
    27. Symfony is extremely coupled by-nc-nd 3.0 http://www.symfony-project.org/blog/2009/02/18/dailymotion-powered-by-symfony
    28. 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
    29. Symfony is extremely coupled The Verdict
    30. Symfony is extremely coupled The Verdict
    31. Symfony is extremely coupled The Verdict
    32. symfony is not really programming, just configuration
    33. Just configuration is no fun
    34. Programming should be fun • No boring repetitive tasks • No standard stuff you did 100 times before • Write cool stuff • Focus on the cool parts
    35. Yes, there is configuration • To minimize the boring tasks • To ensure you don’t repeat yourself • To enable you to concentrate on complex logic
    36. So what is configured? • database credentials • caching • access control (authorization and authentication) • application specific values • routing • admin generator
    37. So where do I touch code? • Your custom complex business logic • Application specific controller code • View displays • Custom administration tasks • Your own libraries
    38. symfony is not really programming, just configuration The Verdict
    39. symfony is not really programming, just configuration The Verdict
    40. symfony is not really programming, just configuration The Verdict
    41. by-nc-sa 2.0 http://www.flickr.com/photos/two-wrongs/205467442/ symfony is restrictive
    42. symfony is restrictive • Default directory structure • Default set of classes • Default set of libraries • ORM included
    43. Default directory structure • Easily change the most important directory locations: • document root • cache directory • log directory • You usually don’t need to do this!
    44. Default set of classes • Default set offers most common uses • Easy to use your own custom class using configuration
    45. Default set of libraries • Default libraries • lime (unit testing) • prototype • scriptaculous • Dozens of plugins • jquery, dojo, extjs, YUI • PHPUnit
    46. ORM included • Propel is default • Doctrine is distributed with symfony • There is no need for an ORM
    47. You can just disable both!
    48. Hell, disable the database • When you don’t use the database • Models approach web services
    49. symfony is restrictive The Verdict
    50. symfony is restrictive The Verdict
    51. symfony is restrictive The Verdict
    52. Symfony is badly performing
    53. Symfony doesn’t perform
    54. Symfony doesn’t perform
    55. Disclaimer: No benchmarks!
    56. by-sa 2.0 http://www.flickr.com/photos/mattieb/131215442/
    57. Symfony doesn’t perform • Slow • Hard on the server
    58. Symfony doesn’t perform • Overhead • just like any framework • tweak it the right way
    59. Symfony doesn’t perform • Select your caching strategy • Page caching • Function caching • Query caching • Supercache!
    60. Symfony doesn’t perform • Select your caching strategy • Page caching • Function caching • Query caching • Supercache!
    61. Cache
    62. Cache
    63. Symfony doesn’t perform • Turn off what you don’t need • ORM • Plugins • Database • Logging • Helpers
    64. Symfony doesn’t perform • Don’t believe me! • Yahoo! Answers • Delicious.com • DailyMotion.com
    65. Symfony is badly performing The Verdict
    66. Symfony is badly performing The Verdict
    67. Symfony is badly performing The Verdict
    68. by-nc-nd 2.0 http://www.flickr.com/photos/mandolux/34418046/ symfony is the ultimate tool
    69. Symfony is the ultimate tool • full-stack framework • based on MVC • automation of common tasks • supports agile approach • MIT license • DRY
    70. Symfony is the ultimate tool • full-stack framework • based on MVC • automation of common tasks • supports agile approach • MIT license • DRY • All the buzzwords
    71. 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
    72. symfony is the ultimate tool The Verdict
    73. symfony is the ultimate tool The Verdict
    74. symfony is the ultimate tool The Verdict
    75. 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/
    76. Questions? • http://joind.in/215 • http://www.leftontheweb.com/ • http://www.twitter.com/skoop • http://www.ibuildings.com/ • http://www.slideshare.net/skoop

    + Stefan KoopmanschapStefan Koopmanschap, 8 months ago

    custom

    2971 views, 8 favs, 4 embeds more stats

    The myphp-busters presentation I did at the PHP UK more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2971
      • 2696 on SlideShare
      • 275 from embeds
    • Comments 0
    • Favorites 8
    • Downloads 0
    Most viewed embeds
    • 271 views on http://www.symfony.es
    • 2 views on http://www.netvibes.com
    • 1 views on http://static.slideshare.net
    • 1 views on http://feeds2.feedburner.com

    more

    All embeds
    • 271 views on http://www.symfony.es
    • 2 views on http://www.netvibes.com
    • 1 views on http://static.slideshare.net
    • 1 views on http://feeds2.feedburner.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events