There has been a lot of buzz this year about Ruby on Rails. For those of you who don’t know, RoR is an open source web application framework that closely follows the MVC (or Model-View-Controller) architecture. I read a few articles about RoR to find out what all the fuss was about and quickly realized that the MVC methodology was superior to my traditional method of writing web applications. In my previous web applications, I had always done an okay job of separating the logic from the design, but never at a level that can be achieved by the use of a MVC framework.
Rather than learning a new language (Ruby), I decided to search for such a framework that utilized PHP. Besides, I have always been partial to PHP and I wasn’t about to abandon something that has made me quite a bit of money in the past few years. The three frameworks I narrowed my search to were CakePHP, Symfony, and Code Igniter. Here are some quick observations I made:
- CakePHP: Consistent updates, large community. Great documentation! Supports table associations. Simple configuration (i.e. not too many config files)
- Symfony: Powerful, complete, large community. Script heavy configuration
… I don’t want to spend a lot of time running different scripts to get started. - Code Igniter: Not as developed as the previous two. Light-weight. Much promise. No table associations, yet
.
So, I have decided to go with CakePHP. I’m not sure if there is anything Symfony supports that I will be missing out on, but it seems perfect for the project I am about to take on (more on that later). Within a few hours, I was able to get a decent start on my project. Without CakePHP I can honestly say that it would have taken me three days to achieve what I have accomplished in three hours. Cool beans.
