Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should i develop with CakePHP 2 or 3 [closed]

Tags:

php

cakephp

I'm just starting on a software as a service project using CakePHP. I can see that version 3 is still in beta and I can see this project taking 3-6 months.

My question is should I start with version 2 or version 3 beta with the latter probably reaching a stable release.

I don't want to learn version 2 and then version 3 has a fair few changes.

like image 641
Nathan Avatar asked Jan 19 '15 09:01

Nathan


2 Answers

Update: Go for CakePHP 3.0 now if you start a new project. CakePHP 3 is no longer in RC or beta state so it can be used without any doubts now.


The question is likely to get closed because it is opinionated, I'm undecided to put up a close vote for that reason myself, however...

Cake3 is in fact OK to be used for a project that is going to take 3-6 month - that is my opinion. But you'll have to expect a few API changes until then. I would not sacrifice the more modern architecture of Cake3 and language features, mostly the namespaces and closures for using an old version that doesn't support them just because Cake3 has not yet reached 3.0 (without the RC).

I've started using Cake myself when 1.3 was in alpha and the transition from 1.2 to 1.3 was pretty smooth. I've had to adept to the API changes during the ongoing development of 1.3 but this was not a game breaker and I never had to spend much time for it.

Same story with Cake3. We are using 2.x and started a new project using Cake3 and don't have much trouble with it. So far it just works fine and the occasional adoptions to the API changes are no game breaker as it was before.

You can see that Cake3 is mostly feature complete by now.

https://github.com/cakephp/cakephp/wiki/3.0-Roadmap

If you go further you'll notice that 3.1 is going to raise the minimum php version to 5.5.

https://github.com/cakephp/cakephp/wiki/3.1-Roadmap

This is because 5.4 is going to reach it's end of support. So there is no reason to support it any more. Based on this you can make your guess when 3.0 will be released: Likely before 5.4 is officially deprecated.

The one and only disadvantage of Cake3 right now might be the availability of plugins. But there are already lots of plugins that are upgraded to 3.0 and even new plugins for 3.0.

like image 174
floriank Avatar answered Oct 10 '22 19:10

floriank


Update:

Absolutely 100% go with CakePHP 3.x. There should no longer be any debate as Cake 3 is now up and running and no longer in beta or RC...etc.


Original Answer:

If you're starting now (Jan '15), I see no point in learning CakePHP 2.x. Why go through the trouble, when by the time your project is complete, you'll already have out-of-date code (I know "out-of-date" might be a bit extreme, but...).

Not only that, but CakePHP2 and CakePHP3 are worlds different with a fairly sizable learning curve. I cannot imagine, at this point learning one language only to have to re-learn the entire thing in less than a year.

IF CakePHP 3 RC wasn't a viable choice (ie projects crashed all the time, or had issues left and right), and you're on a deadline, then you'd have no choice anyway. But CakePHP 3 RC seems to be running fine and is already being used on live projects.

The no-brain answer IMO: Go with CakePHP 3. I certainly would if I were in your shoes.

like image 31
Dave Avatar answered Oct 10 '22 19:10

Dave