Coming back from the php|tek conference, I’ve made a list of some PHP frameworks that I’d like to get some experience with. I’m worried that Code Igniter is so easy though that I won’t like working with anything else!
By the discussions surrounding them I think many of these frameworks come with a program that creates a database for you depending on your answers to a series of questions. This, I don’t like. I want full control over my database design. As Maggie Nelson put it in her talk Angering Database Gods, Active Record classes can be very bad for proper and efficient database interactions.
Nevertheless, I should at least give these a try.
- Drupal (not really a framework)
![]()
Drupal is not really a framework - it is a Content Management System (CMS). However, it allows so much customization that it is practically a framework. I’ve spent a lot of time hacking Wordpress from a blog system to other purposes, and I think that working with Drupal will be a delight in comparison (no offense, Wordpress, but you are a blog, not an e-store. Sorry for mistreating you!)
I guess this is not a framework either, although their site says “PEAR is a framework and distribution system for reusable PHP components.” PEAR stands for PHP (which ironically is an acronym in itself) Extension and Application Repository. This can come in be useful. I believe that I can use it to get the rest of the frameworks.

Symfony was recommended to me when I mentioned to someone that I was using Code Igniter. Apparently there will be a smooth transition. After readingĀ Bart McLeod’s article in php|architect entitled A Refactoring Diary, Part II: symfony, however, I’m a little daunted by the thought of starting something with Symfony, even though their website says it is easy to use.
Zend Framework was also suggested to me. I don’t have much to say about it yet, since I haven’t had the time to look into it. It has a cool logo, though, and it’s Zend! I can’t wait to try it out.

Everyone bashes CakePHP when describing their own framework. Code Igniter calls it bloated. However, I had better figure out for myself what everyone is talking about. CakePHP is still pretty popular, and I want to know why.
Since Maggie Nelson’s talk about databases, I’ve been wary of trying out new frameworks, especially ones that do a lot of database abstraction, and hinge on the use of Active Record classes. These frameworks easily let developers forget that putting database queries into a foreach() loop is a bad idea. This can be done much more efficient if everything is calculated in the loop, and one query sent to update everything after the loop.
Let me know if you have any comments/tips about any of these frameworks!
May 26th, 2008 at 11:55 pm
So, you start off with talking about trying new frameworks, then the first two that you name are not frameworks interesting. Anyway… I think you mean ‘database abstraction’ not ‘database extraction’ ;). Pear does databases too, but remember what Jamie said about PearDB?
I took a look at CakePHP when I was looking through frameworks for Jobba, it looked quite daunting (and lacking in easy to understand examples for *ahem* certain people) at first glance so I did not persue it any further.
May 27th, 2008 at 12:00 am
Woah… look at this:
http://www.symfony-project.org/screencast/admin-generator
May 27th, 2008 at 1:06 am
Thanks for the heads up, Sean. I’ve fixed the spelling error (I’m sure it was just a spelling error…)
No, I don’t remember what Jamie said about PearDB… what was it?
Sweet, a screencast - I’ll watch it before I try symfony out.
May 28th, 2008 at 3:55 pm
She said to avoid PearDB at all costs…