If you are referring to 'scaffolding' then it is available in CakePHP as well (and RoR). I agree, this is a nice feature of a framework.

I have checked out Symfony as well (read through the documentation), and I still prefer Cake for the simplicity. Cake is dead simple - yet is very flexible and powerful. I have spent the last 2 weeks learning and diving into the API (version 2), and I love where it is headed. You have the ability for custom configurations in cake as well, its just not stored in an array of different config files.

Personally, I like the way that database results are stored in an array. This works great when you are working with multiple models that may have some of the same field types (or names). It also helps you keep things organized (at least for me).

PHP5 is one of the really nice things, but I program Cake with 5 as well (in my models/views) and it all works just fine. Cake started out in 4, and I think its doing a good job of managing both.

As for escaping output, I would agree - I wish Cake had this at the core. It would be very easy to add as a custom function or method - much like rails has h() for escaping their output. Maybe we will see this soon, who knows.

I would agree with you in that they are very similar in regards to goals and setup of the framework. For me, I am sticking with Cake due to simplicity - and I don't feel like spending 2 more weeks learning another framework when I have what I need now. hehe.

Aaron Bassett said on February 21, 2007

I've given cakePHP a quick look more than once but have never really given it a proper chance even though I know I should.

Symfony is a new one to me, and to be honest from your review I don't think it would suits my needs either.

What's your take on Code Igniter?
It was the first MVC framework I stumbled across for PHP and the fact I have been quite happy with it is probably why I haven't looked too hard at cakePHP.

Does cake have any major advantages over code igniter that I should consider?

Jonathan Snook said on February 21, 2007

@NiKo: I took a peek at sfDoctrine and it didn't really seem any better. In fact, I'd use Propel instead. Ultimately, I still prefer the CakePHP approach which works well for 90% of the cases out there (I still don't love it's many/many relationship handling but that's another story).

@J Wynia: I didn't mention the CRUD screens because CakePHP has that as well (it's called Baking). Which is really nice, for sure. I used it to build a timetracker app super quickly (like, 20 mins).

@Nate K: admittedly, one of the things I haven't really looked into is extending the view class like I've done with the Model and Controller classes. On one hand, I feel like the documentation doesn't really tell you how, leading me to believe it'd be more complicated to do; but on the flip side, so much is easy to do already, it's probably a pretty trivial thing to do. Extending the view is the next thing I really want to do in CakePHP.

Dragos Badea said on February 22, 2007

This is really great !
I am using CakePHP currently, but the screencasts on their website made me want to take a closer look to this Symfony.

I heard before about it, but I didn't knew it was so powerful. Indeed, more configuration, but the results are also more acurate.

And the admin generator looks really cool, this is a thing that is missing to CakePHP. I am kinda` lazy when it comes to admin panel and I think this would be a great improvement to Cake.

Nathan Garza said on February 22, 2007

I've also been using cakephp for quite a while, and I love it! I've even found a couple of ways to get around the many/many issues.

I'ld have to agree with you about the purpose of a frame work. I've heard a ton of good stuff about symfony, but just can't justify the time to learn a new frame work. Cake has dramatically increased our production speed already.

Jonathan Snook said on February 22, 2007

@Aaron: to specifically address your question on Code Igniter, I feel that CakePHP has many conveniences over CI, mostly in regards to database access and relationship handling. On the flip side, there are a number of classes that come with CI out of the box that don't come with CakePHP (but would be easy enough to add in).

Code Igniter, in my opinion, is easier to pick up, especially for those who've done their own PHP development for some time and really acts as a handy way of mapping URL's to controller/actions.

CakePHP, on the other hand, really has more conveniences in place but has a higher learning curve and doesn't come with handy components like email or xml-rpc, etc. They're really easy to drop in, though, so if you find a library out there that does what you want, it's easy to add.

Ryan Behrman said on February 23, 2007

I was at PHP UK Conference 2007 today and there was talk by one developer of Qcodo www.qcodo.com. He tried out 7 frameworks indepth, and settled on Qcodo. He says he's never looked back since. I'm wondering if anyone else has tried it out in comparison to symfony and CakePHP?

Ivan said on March 09, 2007

Hi Jonathan,
look at CI (http://codeigniter.com/)

oreonix said on June 30, 2007

I have tested 3 different frameworks, 2 php 1 ruby.

By far I think codeigniter is the easiest to get up and running. The documentation and ease of use made me take CI over cakephp. I will probably give RoR another go when I have more time. I needed to get something up fast though.

dont_like_publicity. said on February 16, 2011

I take Codeigniter over Cakephp and Zend. Codeigniter easy to read and program, i has large variety of libraries, and then new 2.0 version is the best thing i ever used the changes they made in code lowered my server CPU usage by 25%.
thank you codeigniter you guys are the best.

Sorry, comments are closed for this post. If you have any further questions or comments, feel free to send them to me directly.