views:

100

answers:

4

hello friends,
Can any one list me out what are the drawbacks of CakePHP framework over other PHP frameworks?
1) And please explain why that missing feature is so important for a PHP project?

2) How that missing feature help the web developers those who using the Framework with that feature?

A: 

Benchmarks show that cake is a bit slower than other frameworks. and also it has no template support.

Shota Bakuradze
"No template support"? First of all, PHP already is a template language. Second, there are Cake plugins for most popular template languages, and if there isn't you can write your own thin wrapper (a custom View) around it and you're ready to go. Custom Views are an explicit feature of Cake. Also, can you point to any recent benchmarks please? Cake may or may not be slow, but nobody has been able to produce any hard facts to support this claim with recent data.
deceze
A: 

I like cakephp but found it not friendly with non-cake code around. Its hard to merge cake code with generic php pages and sessions. cake came into my project after 2 years (due to its advantages). legacy code still exists and actively developed but we have to be careful in choosing to code module X in cake or outside. Its also hard to call cake controllers from outside of cake.

thevikas
+5  A: 

The big problem with Cake is that it's very opinionated. That of course is also its big strength. By that I mean that Cake is heavily skewed towards certain kinds of apps, namely standard CRUD apps. If your project is CRUD, Cake can be a huge help. If you're trying to do something very different and want a lot of customization, Cake may actually get in the way.

Because it's very opinionated, it may not sit well with you if your opinions differ. When working with Cake, you have to do things the Cake way. That's not to say that you can't extend and customize it, but even when doing so, you'll have to do it the Cake way. The initial learning curve can be quite steep, and you'll need to be somewhat experienced if you want to step outside the Cake boundaries. The flip side of this is that there's usually a very consistent coding style among all Cake projects.

Cake tends to be a more big-boned framework, compared to those that explicitly try to be fat-free. If high-speed performance is your main goal you may have to spend more time tweaking in the end. That's usually offset by faster development times though. That's the double-edged sword of using a lot of automagic.

There's no major deal breaker in Cake. You can do anything you want with it, just as you can with other frameworks. It just lends itself better to some projects than to others.

deceze
+2  A: 

It's currently still a PHP4-framework and so it doesn't use any of the newer PHP features.

dhofstet
...which on the other hand ensures high compatibility. There are a lot of flip sides to Cake. With frameworks like Zend you can get into trouble because they won't run on even slightly older PHP installations. I do agree though that they should drop PHP 4 support, it's madness to still be using it. :)
deceze
Yes, the coming CakePHP 2.0 will drop PHP4 support.
dhofstet
Also, CakePHP 2 will be API-compatible with CakePHP 1.3, so if you are starting a new project you should be able to just drop in v2 when it is available without changing your code.
handsofaten