views:

116

answers:

5

Hi,

I am a good PHP developer and wanted to develop a large scale web application in PHP. I was thinking about using CakePHP framework.

Is cakePHP good for large scale web application?
Should I start learning and using it?
Is cakePHP worth investing time and money or should I go with core PHP or some other framework?
I heard that it is difficult finding support for it in case you are stuck with some issue. Is this correct? I have heard a lot of good things about it as well.

I am looking forward to your guidence.

Thanks in advance,
happyhardik

+1  A: 

Hmmmm. For Large scale website you are looking for the best option in my opinion.

Cakephp is helpful when your website require lots of customization on the other hand options like Joomla or wordpress are good but not preferable for large scale website like you metioned.

I know most of us had or will face difficulty for very first cake website since its difficult to find solution when we stuck in some cases but you don't have to worry since we are here in stackoverflow to help you out.

nik
:) thanks for your nice answer. Wordpress or Joomla are not an option for me as this is going to be a complete custom app with social networking API integration. So it will be hand crafted.
happyhardik
Comparing a PHP framework to a CMS on a programming site disappoints me.
strager
@Happyhardick :: integrating API's won't be the problem in cakephp, I know cake do it very elegantly.
nik
@strager :: Apologies for your disappointment. When one hear loads of things done with php's, thats really confusing for the starters.
nik
+3  A: 

There is also Code Igniter which has many of the same sort of features, I suggest you check it out for comparison.

You can create some highly professional & scalable websites using these two frameworks. You are definately headed in the right direction instead of writing vanilla PHP.

With these frameworks you benefit from using well proven design patterns e.g: the Model View Controller pattern and also utilize many helper classes for DB access, form validation and security.

I personally use something called SilverStripe which is a PHP development framework that comes with an optional CMS out of the box so you can get creating basic pages straight away, it is also powerful enough that you can create complex customized web applications relatively easily.

I haven't heard CakePHP having poor support, but that's just me.

Whatever framework you end up choosing will definately involve a slight learning curve. In my experience, when I started using a framework I started off cursing at the lack of flexibility in what I wanted to do, but this soon made way to the vast productivity improvements when you start learning the correct ways to do things and making use of the classes that do a lot of the heavy lifting for you (form-scaffolding, ORM, form validation, DB access, security etc).

Good luck.

hydrogen
http://bakery.cakephp.org/articles/view/how-i-built-a-web-2-0-dating-site-in-66-5-hours - I just found this on google for 'sites that use cakephp'
hydrogen
+3  A: 

In terms of support, I believe CakePHP is quite good. They have an active IRC community, as well as their own stackoverflow style website cakeqs.org additionally there seems to be quite a few proficient CakePHP users on SO.

Although some of the documentation on datasources, creating behaviors and other few bits and pieces is lacking on the CakePHP website.

It all depends on what you're application is also, right tool for the right job.

Stoosh
Our application is a dating website. And the previous developer faced some trouble with "Has Many And Belongs Many" relationship.
happyhardik
Stoosh
And if a developer is having problem with Model Associations then there are plenty of resources out there about HABTM, read up and start trying to get the code working. HABTM isn't that hard of a concept to grasp.
Stoosh
Stoosh very rightly metioned about the strict convention cakephp uses, thats why developing first website could be troublesome. In my opinion if you are starting with cakephp make sure you are having enough time for the development phase of website.
nik
I understand that every application has its own need, but I just wanted to know weather it is suitable for large scale application (any performance issues?) and Is it stable? also Is support available if you are stuck in the middle of something? (this are just my concerns before start up with it, I know problems are going to be there and I need to get through it.)
happyhardik
thats the spirit man
nik
CakePHP is probably one of the slower frameworks available, it certainly is stable and there is definately support (as stated before). Also a link for you http://blog.astrumfutura.com/archives/421-PHP-Framework-Benchmarks-Entertaining-But-Ultimately-Useless.html
Stoosh
nice link! thanks for your answers.
happyhardik
+1  A: 

what about YII php framework?? it's supposed to be fast and reliable =)

A: 

Yes, CakePHP works well even for large applications. I deployed a partner application on LinkedIn.com using OpenSocial and CakePHP and we were seeing more than 1000 new users everyday. It has been more than 2 years now and the app is seeing steady growth and the app's performance is still very good. (We back it up with 2 Apache web servers and memcached)

Gaurav Gupta