violin photo

Photo by mitch98000

Recently, I had a short engagement for a client who had an existing application written in Symfony2.  I haven’t really touched the modern PHP frameworks (the most recent experience was CakePHP 1.2, which was last released almost 3 years ago).  It was a pleasant surprise.

What was awesome about Symfony?

  • It forces you to think in terms of components (called bundles).  Even the core functionality is a bundle.
  • There are many bundles out there to let you get up to speed quickly.
  • It uses Composer, a dependency management tool much like Maven or NPM, to manage packages.
  • The documentation is extensive and versioned.
  • There is a clear product roadmap, including long term releases and clear deprecation dates
  • It has built in integration testing functionality, which lets you test clicks and form submissions and search the DOM for expected results.
  • There is clear configuration support for different environments.
  • It uses an ORM which seems capable–I didn’t get to dive into this too much.

Of course, the proof is in the pudding, and I didn’t get a chance to live with this solution for more than a few weeks.  I don’t know how active the community is, though the google group seems relatively active.  I’m sure there are warts in Symfony2–searching for ‘symfony2 sucks’ turned up a few rants.  But, for a greenfield webapp project, I’d happily use Symfony2.


© Moore Consulting, 2003-2019