views:

148

answers:

5

Hello

I am planning to continue my PHP life with cakephp, I have been a PHP programmer for 2 years,but haven't touched any frameworks, I have to complete a quite big projects immediatly, Is this a good decision ?

+1  A: 

Yes.

...unless, of course, it doesn't work out for you. I.e., this is a really subjective question. Cake is good, but it's not the golden pink striped bullet for all problems and projects. Also, as with any new technology, there will be an initial learning curve. This may clash a bit with your desire to get projects done ASAP now.

deceze
"silver bullet" is the phrase. big fan of yours so i hate to criticize. got your stackoverflow cakephp responses on my rss feed. you're a legend! but the phrase is "silver bullet".
the0ther
@the No no, you see, Cake is *golden*. Or rather, isn't... Ah, dammit, need more coffee. And I didn't know I had fans. Do you want an autograph? :D
deceze
A: 

CakePHPs claim to fame isn't simplicity. Its derived forked originally called 'Cake3' is now named Lithium btw, and supposely robuster, yet unfinished. Check it out. Also try "Kata" whose amusing tagline is "It's like CakePHP, but with less calories".

For a wider framework overview have a look:
http://matrix.include-once.org/framework/

mario
Lithium is not the next version of CakePHP. It is a project on its own, started by some former CakePHP core devs.
dhofstet
afaik, lithium is a fork of cakephp. it has been forked due to split opinions on some points, hence lithium is not a replacement for cakephp even if the name cake3 suggests that.
benjamin
It might have started as a fork, but it has been so reworked that it flat out *can't* be claimed to be CakePHP3 now.
Abba Bryant
+1  A: 

Hi John,

the title of your question and the question itself seem to indicate that you are looking for a framework which is fast to get productive with. Somewhere here on SO I found a neat answer, which in short states: that depends on what fits your thinking best. As a consequence, you have to test multiple different frameworks.

In addition, I have to complete a quite big projects immediatly , seems to leave you with little to no time for learning, as it is hard for you and others to determine whether the invested learning time would pay off on this particular project (which seems to be your concern) or not.

Maybe you consider the option to write it first in php-only, later build it with a framework. That way it could even be more fun, as you solved all the business logic problems and are free to focus on the framework.

Kind regards, Benjamin.

benjamin
A: 

I'd avoid cake like the plague. It is not fit / suitable for any sophisticated sites. If you have a non-cake scheme database, your best bet is not to use it. It will only cause pain and suffering. When i last used it on a site with a database scheme more complex than your typical blog, it failed miserably and we scrambled to break cake to fix our bad decision to use cake. It will make your code difficult to understand especially if cake breaks on you because you are using it incorrectly.

Do yourself a favor, keep your site as simple as possible code-wise. Keep it clean, use tabs instead of spaces, for crying out loud, keep your code formatted consistently preferably in C-Style formatting standard. Use a good Editor to help you keep your code in check (NetBeans 6.9.1) is probably your friend. Use a SVN/Git/Bzr/Hr or what have you. Just follow some good standards.

Frameworks are generally only necessary for communication purposes for future code, and also a certain amount of knowledge going in. Consider documenting your code with phpdoc. You don't always need a framework to build a big site, just make sure your code is readable to a human, not a machine. Otherwise you will reap your own Frankenstein.

krob
Are you basically advising to stay away from frameworks entirely? A little more details on your database problem would be nice. Considering that, in the worst case, you can gut Cake models completely and do everything via raw SQL queries, I have a hard time seeing how Cake could cause problems you wouldn't have had to solve in traditional PHP anyway. Did you have any previous experience using Cake, or was this your first attempt?
deceze
`It will make your code difficult to understand especially if cake breaks on you because you are using it incorrectly.` If you use a gun incorrectly, it will hurt you, too. Btw, the OP has stated to have 2 years of experience in pure PHP, there should be "something" he can reuse.
benjamin
+1  A: 

i totally disagree with "krob"s opinion - in either case CakePHP (or any rapid dev. framework) is the right way to go

it is even faster than with pure php. at least in the long run. so what he is telling you is crap. nobody would build a complete (big!) application and afterwards convert it to cake if that can be done right away.

use cakephp, bake your model database tables and refine it. with "baking" you already have a basic structure.

even if you need more time to get used to the framework you got

  • already a full framework with lots of functionality (out of the box) (timesaver!!!)
  • community help on problems/issues
  • lots of "automagic" working for you (dont even have to write your own queries = timesaver!)
  • clear structure and clean code for current and future dev.

and if it is really that big, you will soon be way faster using the framework option.

mark
who was that coward that rated my down without commenting on why? i guess that guy is similar unskilled as krob - or even krob himself :)
mark