I only have experience with Cake, but was and still am very interested
in Symfony and CodeIgniter (although I have chosen to go with Cake for
my current project). In a perfect world we would all have the time to
devote to exploring and testing all options; in this case, the
seemingly three big PHP "rapid development frameworks." There are a
few articles that you can easily find via googling at various
programming news websites and such.

As for my own analysis, I have a few main observations with Cake. One,
the documentation is subpar; at least it seems to be in comparison to
the other frameworks, especially code igniter. You will find yourself
digging through source code and api to learn relatively basic things,
which is fine, but a better manual would certainly be nice. A perfect
example is the extremely brief description of the Access Control
system. This is probably one of the most important parts of a web
application, yet probably the worst part of the user manual.

One possible reason for this is related to the fact that Cake is
undergoing many changes/improvements. The jump from 1.1 to 1.2 is
relatively significant in terms of "out of the box" functionality.
While Cake has a devoted community of followers, many of whom author
helpful articles/tutorials at bakery.cakephp.org, many of these are
overlap each other, and can be a bit confusing. Additionally, any
effort you may devote to adopt something in a bakery tutorial may be
obsolete sometime relatively soon. Example: there are probably
somewhere in the range of 5 user-submitted auth modules floating
around the cake community right now, because 1.1 does not have any
"out of the box" auth functionality. However, 1.2 does, but it is
still in alpha.

The alpha state of 1.2 leads to another problem: many of the tutorials
written at the bakery and some of the other hardcore bakery sites
(gwoo, snook.ca) are only for 1.2. Perfect example: on cakephp.org
they host a few screencasts, many of which are specific to 1.2. The
point here is that much of the community has already jumped on the 1.2
bandwagon and have left 1.1 in the dust. This will be all the better
when 1.2 gets out of alpha, but for now, troubleshooting can be a
pain.

Still, in my experience, Cake is a solid framework. As citrus noted,
cake's "automagic" is no doubt the thing that sets it apart from the
other frameworks. You will also see this referred to as object
relational mapping, or ORM. Cake auto-magically maps your objects
based upon relatively simple definitions in your Models. Like I said,
I haven't used CI or symfony, but this is generally the feature that
sets Cake apart. (Apparently symfony has ORM, but I don't know a lot
about it). The main thing I've heard about symfony is that it has a
considerable learning curve. I would recommend taking a look at this:
http://www.phpit.net/article/ten-different-php-frameworks/.

To summarize the field: Cake has a strong ORM feature, but it is still
young and experiencing a lot of changes, especially in terms of "out
of the box" functionality. Symfony seems similar to Cake in that
respect, but maybe with a little better documentation (?) but a
steeper learning curve. CI seems a bit further along in development,
with much better documentation that Cake, but no ORM at this time. In
fact, I read a blog comment by one of the key CI developers, in which
he admitted that this is the key area where CI falls short, and ORM
functionality is planned for the future. Sorry this got kind of long.
I haven't really felt like working yet today....it is Monday. Hope
this helped.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to