views:

508

answers:

6

Being a web development over the years, I have good experiences on php, xhtml, css, javascript, ajax, etc. I also work with some old php libraries like Smarty, PEAR, etc. Recently I decided to use a PHP framework, and I started to learn/use CakePHP. It's not really simple for an ancient philosopher like me, but I think it's a valuable experience.

Now I'm planning to select a good framework, because I haven't enough time to learn many new things like the past years. Searching on StackOverflow I found the Kohana framework and it seems to be a good framework. Would anyone please let me know if it's a good idea to switch to Kohana when I'm (a little) familiar with CakePHP. Witch on is better and let lazy developers like me be aware from switching to another framework in the future?

Thanks for your help

A: 

CakePHP is good. but has a bit of a learning curve. thought the cookbook is vast. cant really find all that we need.

i found codeignitor good too.

Harsha M V
+5  A: 

Between Kohana and CakePHP, I'd strongly suggest Kohana (also because it's a php5 fork of CodeIgniter, the lightest framework of them all).

Because people tell me I'm a CakePHP hater, let me show you its weaknesses:

  • slow
  • uses php4 OOP, where "your children can play with your privates" :)
  • did I mention slow?

On the other hand, I'd strongly recommend a nice and powerful PHP library: Zend Framework. It doesn't have the really steep learning curve like it had a few years ago, because now you find many tutorials and screencasts (see ZendCasts). Users of framework like CodeIgniter put all the Zend Framework library into CI and such and use them independently (which, from my point of view is another +1 for ZF)

Later edit: You can see actually how slow CakePHP is compared to the lightning fast CodeIgniter and the Zend Framework here. From the speed tests you can see that Zend Framework is somewhere from 2 to 3 time fast than Cake and Code Igniter somewhere from 2 to 3 times faste than Zend Framework. That means CodeIgniter can be as 6times as fast than Cake (which from my point of view is humiliating for Cake)

Bogdan Constantinescu
-1 for out-dated cliched criticism.
Leo
I think that the slowness of CakePHP is a myth. It's usually down to a lack of knowledge on the part of the developer and a lack of understanding. I think without being able to justify your criticisms you undermine your own points. There is a great deal of things which can be done, nay are required, to be done to Cake applications before they are ready for live.
DavidYell
I feel I also need to address the php4 point here. I do agree that it's not ideal. If you are looking for a Cake similar framework which is all php5, check out Litium, http://lithify.me/ - which is created by a bunch of the old Cake guys.
DavidYell
@DavidYell: You can't let your children touch your privates! That's enough for me to disqualify a framework. Also a bad RoR port (cakephp that is)
Bogdan Constantinescu
@DavidYell: Lithium requires PHP 5.3
dhofstet
@Bogdan That's a rather philosophical stance which has no influence on working with the framework. Nothing is keeping you from writing all your code in PHP5 OO style and keeping your privates to yourself. If you're not touching your parents' privates (Cake's classes), there's no problem. PHP4 compatibility is indeed one of Cake's weakspots, but it doesn't make any real difference in the real world.
deceze
@Bogdan: as I said - your criticism is outdated. That comparison was published over two years ago - June 30th, 2008
Leo
Let's reconvene when Cake3 is out ;)
DavidYell
I'll link this here also, just for future references. http://stackoverflow.com/questions/2676819/speeding-up-cakephp
DavidYell
Without continuing this too much, I'd just like to say that I've been using cake for a couple of years now and consider myself more than competent in it. For me, personally, as a personal matter of personal taste, I'm looking to learn a new framework as I don't particularly enjoy Cake. Might easily be a case of greener grass in another framework, though. Zend is probably where I'm going.
Travis Leleu
+6  A: 

As I said here: http://stackoverflow.com/questions/3060699/php-framework-benefits-downfalls/3088015#3088015 The bottom line differences between frameworks are marginal. Choose one, stick with it and get on with your work.

It's how well you know the framework not the framework you know.

Leo
I agree here, find a framework that YOU are happy with. One which allows you to work in the most effective way you can. Then STICK with it. Learn it well. Then when you've mastered it, you'll really be in a position to do something amazing. Like everything, it takes time, but it's worth it.
DavidYell
Your affirmation is totally correct, but if you have to choice of learning some great frameworks and a rotten potato(cake), don't choose the rotten potato (wrote on php4 with the actual OOP capability of a brick)
Bogdan Constantinescu
A: 

I strongly recommend CakePHP. It might have a learning curve for some. However with one of the largest online communities there is always someone around that can help you out. I don't find CakePHP slow at all.

Steve Coverdale
+1  A: 

CakePHP is a headache to work with. I have always likened CakePHP to PHP, and Kohana to Python. Cake is full for surprising shocks and conventions, in Kohana what you get is what you guessed. CakePHP fights you to help you. Kohana gives you the sharpest and the most powerful tools you need accomplish your goal.

I ditched CakePHP four years ago for CodeIgniter. Then I choose to go with Kohana when it was created from CodeIgniter because Kohana takes the best parts of CodeIgniter and fixes the bad parts.

In my humble opinion, Kohana is THE best PHP framework in the world! And I recommend Kohana to everyone I know; most of them are very surprised that a PHP framework could be so easy and intuitive to work with. Needless to say, they are very very happy and productive with Kohana.

Go for Kohana!

Hack Sparrow
+1, definitelly the best php fw out there
Kemo
A: 

If your question is about the broad decision of selecting a new framework to learn I would suggest YII framework. You can checkout a comparison between the three here http://daniel.carrera.bz/2009/01/comparison-of-php-frameworks-part-i/

And if you want to have a choice between cake and Kohana. I would prefer to stick to the framework that I have experience(cake for you).

pillar.of.autumn