Myphp-busters: symfony framework (PHPCon.it)

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

    2 Favorites

    Myphp-busters: symfony framework (PHPCon.it) - Presentation Transcript

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

    + Stefan KoopmanschapStefan Koopmanschap, 7 months ago

    custom

    698 views, 2 favs, 1 embeds more stats

    My myphpbusters presentation on the symfony framewo more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 698
      • 697 on SlideShare
      • 1 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 0
    Most viewed embeds
    • 1 views on http://dinhcuongvu.wordpress.com

    more

    All embeds
    • 1 views on http://dinhcuongvu.wordpress.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