The title of this article post "Why Symfony (over framework X)" is highly misleading when all of the arguments that are suggested for choosing Symfony apply also to ZF.<p>It is also <i>missing a substantial disclaimer</i>, in that the article is written by the founder of the Symfony Project (if you weren't aware)... Anyway... I'm not going ot argue on the merits of which framework is better, (I use both and think they are both fantastic, but this post is grossly misleading if you are trying to do a subjective comparison).<p>- ZF employs a use at will philosophy. You don't have to use any components or the full stack if you don't want to.<p>- ZF is also used by many large companies. How is this different to Symfony? (clue: It isn't).<p>- ZF also has a huge community, it also has a huge demand for ZF developers. As does Symfony. Both IRC channels have several hundred users connected always.<p>- ZF, also embraces the "don't reinvent the wheel" philosophy (where possible). That's why ZF never tried to implement an ORM. What's the point when Doctrine exists. The only reason it wasn't include in sources is because of mutually exclusive licences.<p>- "Symfony tries to bring innovation to PHP"... This is a little facetious, but ZF also does the same. Symfony and ZF both have a minimum PHP version of 5.3... Both have started to make the lifes of developers as easier as possible with composer/phar. ZF also uses Dependency Injection...<p>Background: I use both Zend Framework and Symfony on the same project. Why? Because they both use the same use at will philosophy... So to say "Why use Symfony" or "Why use Zend Framework" over another framework... is misleading again, because ultimately, you are never restricted to a single framework anyway, you can still pick out individual components... The only real choice you have is which MVC/Application you want to use.<p>Just added this submission also: <a href="http://news.ycombinator.com/item?id=4488582" rel="nofollow">http://news.ycombinator.com/item?id=4488582</a>
Maybe he should have said:<p>- Symfony2 has a way way better debug toolbar and profiler<p>- a better integrated assets management (through Assetics and Capifony, both external projects but a de-facto standard, also documented in the main docs)<p>- a better documentation, focused on how to do, instead of how it works. (As a Zend advocate in some big companies in Italy, the most frequent question with ZF was "where to start?")<p>- A better command line component<p>- Even if loosely coupled (eg: Silex), Symfony2 identifies a standard set of components. So when I look for a freelance Symfony2 developer, I know for sure that he will master twig, assetics, doctrine, swiftmailer, the DI container ecc.<p>- Symfony2 is now a year old, with an incredible amount of bundles available.
Almost all of the arguments are applicable to ZF2 too.<p>-- "Standalone components". Check.
-- "Using by big companies like BBC". Check.
-- "Community". Just check StackOverflow for zend framework. Check.
-- "Here to stay". It's the Zend company. Check.
-- "Innovations". Just check the source code of ZF2 and be amazed. Check.
If I were to choose a single reason as a developer, it would be the Form component. Forms are historically a nightmare of boilerplate, validation, normalization and data mapping, but it is nearly trivial to go from $_POST to a populated object graph.
BBC PHP framework is Zend Framework, it's sad to see such a lie as one of the main selling points. If Symfony is used at all in BBC is perhaps only to experiment the alternatives.