The document discusses common myths about the Symfony framework. It addresses criticisms that Symfony is hard to learn, extremely coupled, focuses only on configuration rather than programming, is restrictive, performs poorly, and claims it is the ultimate tool. For each myth, the document provides counter arguments explaining why Symfony is easy to learn with documentation and community support, has become less coupled over time, involves significant programming beyond just configuration, and allows for flexibility and customization. It also notes performance depends on caching and configuration choices.
6. 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
7. The myths:
symfony is...
• ... hard to learn
• ... extremely coupled
• ... not really programming, just configuration
• ... restrictive
• ... badly performing
• ... the ultimate tool
8. What I want to prove...
• symfony is not crap
• symfony fits in of pookey’s 10%
11. Pookey’s 10%
<pookey> PHP is a fucking filthy horrible language in
90% of usecases.
<pookey> I will back that up with NOTHING
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
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. 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
17. Great documentation
• The Definitive Guide to
symfony
• Practical Symfony
• Propel Edition
• Doctrine Edition
• Various other languages
18. Great documentation
• Official books in digital
form
• Forms in Action
• symfony and Doctrine
• The Cookbook
• API documentation
• Tutorials & Screencasts
19. Community
• IRC: #symfony on
freenode
• Forum
• Mailinglists
• Wiki
• Snippets
• Blog posts
• Various local sites
20. Symfony is hard to learn
• Steep learning curve
• Great documentation (online and offline)
• Friendly and supportive community
28. Symfony is extremely coupled
by-nc-nd 3.0 http://www.symfony-project.org/blog/2009/02/18/dailymotion-powered-by-symfony
29. 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
35. Programming should be fun
• No boring repetitive tasks
• No standard stuff you did 100 times before
• Write cool stuff
• Focus on the cool parts
36. Yes, there is configuration
• To minimize the boring tasks
• To ensure you don’t repeat yourself
• To enable you to concentrate on complex logic
37. So what is configured?
• database credentials
• caching
• access control (authorization and authentication)
• application specific values
• routing
• admin generator
38. So where do I touch code?
• Your custom complex business logic
• Application specific controller code
• View displays
• Custom administration tasks
• Your own libraries
39. symfony is not really programming, just
configuration
The Verdict
40. symfony is not really programming, just
configuration
The Verdict
41. symfony is not really programming, just
configuration
The Verdict
43. symfony is restrictive
• Default directory structure
• Default set of classes
• Default set of libraries
• ORM included
44. Default directory structure
• Easily change the most
important directory
locations:
• document root
• cache directory
• log directory
• You usually don’t need
to do this!
45. Default set of classes
• Default set offers most
common uses
• Easy to use your own
custom class using
configuration
46. Default set of libraries
• Default libraries
• lime (unit testing)
• prototype
• scriptaculous
• Dozens of plugins
• jquery, dojo, extjs, YUI
• PHPUnit
47. ORM included
• Propel is default
• Doctrine is distributed with symfony
• There is no need for an ORM
71. Symfony is the ultimate tool
• full-stack framework
• based on MVC
• automation of common tasks
• supports agile approach
• MIT license
• DRY
72. Symfony is the ultimate tool
• full-stack framework
• based on MVC
• automation of common tasks
• supports agile approach
• MIT license
• DRY
• All the buzzwords
73. 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