• Save
Myphp-busters: symfony framework (php|tek 09)
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 4,426 views

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

Statistics

Views

Total Views
4,426
Views on SlideShare
4,422
Embed Views
4

Actions

Likes
4
Downloads
0
Comments
0

3 Embeds 4

http://www.slideshare.net 2
http://www.php.rk.edu.pl 1
http://www.sfexception.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • myphp-busters: symfony framework php|tek uncon 22-05-2009
  • Adam Savage
  • Jamie Hyneman
  • Stefan Koopmanschap
  • 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
  • The myths: symfony is... • ... hard to learn • ... extremely coupled • ... not really programming, just configuration • ... restrictive • ... badly performing • ... the ultimate tool
  • cc-by 2.0 http://www.flickr.com/photos/shonk/418180402/ Symfony is hard to learn
  • Steep Learning Curve • Full-stack • MVC • ORM • YAML
  • Great documentation • The Definitive Guide to symfony • Practical Symfony • Propel Edition • Doctrine Edition • Various other languages
  • Great documentation • Official books in digital form • Forms in Action • symfony and Doctrine • The Cookbook • API documentation • Tutorials & Screencasts
  • Community • IRC: #symfony on freenode • Forum • Mailinglists • Wiki • Snippets • Blog posts • Various local sites
  • Symfony is hard to learn • Steep learning curve • Great documentation (online and offline) • Friendly and supportive community
  • Symfony is hard to learn The Verdict
  • cc-by 2.0 http://www.flickr.com/photos/u-suke/138067687/ Symfony is extremely coupled
  • Perhaps in 1.0 • symfony was the glue between components • ORM integrated in the core • It was full-stack or nothing
  • by-nc-nd 3.0 http://www.symfony-project.org/blog/2008/06/23/the-symfony-1-1-architecture symfony platform
  • by-nc-nd 3.0 http://www.symfony-project.org/blog/2008/06/23/the-symfony-1-1-architecture platform and framework
  • Symfony is extremely coupled by-nc-nd 3.0 http://www.symfony-project.org/blog/2009/02/18/dailymotion-powered-by-symfony
  • 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
  • Symfony is extremely coupled The Verdict
  • symfony is not really programming, just configuration
  • Just configuration is no fun
  • Programming should be fun • No boring repetitive tasks • No standard stuff you did 100 times before • Write cool stuff • Focus on the cool parts
  • Yes, there is configuration • To minimize the boring tasks • To ensure you don’t repeat yourself • To enable you to concentrate on complex logic
  • So what is configured? • database credentials • caching • access control (authorization and authentication) • application specific values • routing • admin generator
  • So where do I touch code? • Your custom complex business logic • Application specific controller code • View displays • Custom administration tasks • Your own libraries
  • symfony is not really programming, just configuration The Verdict
  • by-nc-sa 2.0 http://www.flickr.com/photos/two-wrongs/205467442/ symfony is restrictive
  • symfony is restrictive • Default directory structure • Default set of classes • Default set of libraries • ORM included
  • Default directory structure • Easily change the most important directory locations: • document root • cache directory • log directory • You usually don’t need to do this!
  • Default set of classes • Default set offers most common uses • Easy to use your own custom class using configuration
  • Default set of libraries • Default libraries • lime (unit testing) • prototype / scriptaculous • Dozens of plugins • jquery, dojo, extjs, YUI • PHPUnit
  • ORM included • Propel is default • Doctrine is distributed with symfony • There is no need for an ORM
  • You can just disable both!
  • Hell, disable the database • When you don’t use the database • Models approach web services
  • symfony is restrictive The Verdict
  • Symfony is badly performing
  • Symfony doesn’t perform
  • Symfony doesn’t perform
  • Disclaimer: No benchmarks!
  • by-sa 2.0 http://www.flickr.com/photos/mattieb/131215442/
  • Symfony doesn’t perform • Slow • Hard on the server
  • Symfony doesn’t perform • Overhead • just like any framework • tweak it the right way
  • Symfony doesn’t perform • Select your caching strategy • Page caching • Function caching • Query caching • Supercache!
  • Cache
  • Cache
  • Symfony doesn’t perform • Turn off what you don’t need • ORM • Plugins • Database • Logging • Helpers
  • Symfony doesn’t perform • Don’t believe me! • Yahoo! Answers • Delicious.com • DailyMotion.com
  • Symfony is badly performing The Verdict
  • by-nc-nd 2.0 http://www.flickr.com/photos/mandolux/34418046/ symfony is the ultimate tool
  • Symfony is the ultimate tool • full-stack framework • based on MVC • automation of common tasks • supports agile approach • MIT license • DRY • All the buzzwords
  • 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
  • symfony is the ultimate tool The Verdict
  • 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/
  • Questions? • http://joind.in/438 • http://www.leftontheweb.com/ • http://www.twitter.com/skoop • http://www.ibuildings.com/ • http://www.slideshare.net/skoop