Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2576 posts at DZone. You can read more from them at their website. View Full User Profile

A Look at Silex: A Symfony2-based PHP Microframework

  • submit to reddit
 Microframeworks are a trending topic in PHP land right now, and a usage good example is now online for the Silex microframework along with some great advice on when to use microframeworks in general. Recently Stefan Koopmanschap, a major voice in the PHP community, took a dive into the Silex microframework and created a simple URL shortener with it:

Contrary to most other microframeworks, however, Silex is built on top of an existing open source project: Symfony2. A microframework is a very small framework which basically does nothing more than bootstrap and handle your request and response. Though the microframeworks cater to a very specific need, I really like the approach of not needing a full framework for a project that clearly is simple enough not to need one.

Some things I really like about Silex are:

  • Built on top of existing open source components
  • Packaged in a phar package
  • Extensible: There are extensions available to the Silex core, and I can extend it even more
--Stefan Koopmanschap

Using Silex, Stefan found a lightweight approach to getting his simple application up and running in a couple of hours by just coding and improving in small steps.

What I've found is that Silex (or any other microframework for that matter) is an excellent approach for small projects where you start with an idea of what you want to build and then improve on your existing code. It is very tempting to put in hackish solutions, which is OK if you keep on improving  --Stefan Koopmanschap

Stefan says that microframeworks are also useful for application prototyping.  Their simplicity helps you prototype very quickly.