• Save
Myphp-busters: symfony framework
Upcoming SlideShare
Loading in...5
×
 

Myphp-busters: symfony framework

on

  • 8,959 views

The myphp-busters presentation I did at the PHP UK Conference 2009 on symfony framework

The myphp-busters presentation I did at the PHP UK Conference 2009 on symfony framework

Statistics

Views

Total Views
8,959
Views on SlideShare
8,547
Embed Views
412

Actions

Likes
10
Downloads
0
Comments
0

6 Embeds 412

http://www.symfony.es 385
http://www.slideshare.net 15
http://symfony.es 8
http://www.netvibes.com 2
http://static.slideshare.net 1
http://feeds2.feedburner.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 Myphp-busters: symfony framework Presentation Transcript

    • myphp-busters: symfony framework PHP Conference UK 27-02-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
    • What I want to prove... • symfony is not crap • symfony fits in of pookey’s 10%
    • Pookey’s 10%
    • Pookey’s 10% <pookey> PHP is a fucking filthy horrible language in 90% of usecases.
    • Pookey’s 10% <pookey> PHP is a fucking filthy horrible language in 90% of usecases. <pookey> I will back that up with NOTHING
    • 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
    • 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
    • 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
    • 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
    • Symfony is hard to learn The Verdict
    • 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 extremely coupled The Verdict
    • 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
    • symfony is not really programming, just configuration The Verdict
    • 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 restrictive The Verdict
    • 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!
    • 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
    • Symfony is badly performing The Verdict
    • 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
    • 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
    • symfony is the ultimate tool The Verdict
    • 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/215 • http://www.leftontheweb.com/ • http://www.twitter.com/skoop • http://www.ibuildings.com/ • http://www.slideshare.net/skoop