Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which PHP frameworks can handle large scale applications?

Many conversations on frameworks tend to discuss ease of use and speed of development. These issues are important but they tend to come from developers who are creating new low traffic projects over and over for different clients. It is important in that situation to be able to knock out a solid solution for the client in as little time as possible. I myself have operated in this area for many years and have used many MVC frameworks with much successes.

But what about when you are working on a single high traffic application for several years? Now ease of use and speed of development start to take a back seat to scalability and speed. It doesn't matter how easy it is to use or how fast you can write code if the application won't function because of speed and scale.

My question to any large scale developers out there is, are frameworks still useful in this situation and if so which have been used successfully in large scale production situations?

common frameworks: zend, symphony, codeignitor, cakephp

like image 746
tom Avatar asked Dec 05 '22 00:12

tom


2 Answers

When it comes to large applications, it's not the framework you should be concerned about, it's the database.

First decide which database you going to use, then look for a framework that has good support for that database. If you want your app to scale to unlimited size and still be fast, you should eliminate Mysql as an option right from the start.

Look for NoSQL solution, find the one that you like. Cassandra, MongoDB, CouchDB are the top 3 choices, but there are others. All of these are fairly new, but some of the biggest sites in the Internet are using them. Do your research, choose database, then choose framework.

I don't know most of the frameworks, I looked at Zend and Symphony2, both support MongoDB, both are pretty fast. I would look at either one of these 2, no reason to look anywhere else.

But really, if you plan on writing a really large application you should really write your own code and don't use frameworks. This way you will have only the functions that you need and none of functions you don't need. Remember most frameworks offer you a lot more functionality then you really need. Unnecessary functionality usually slows down your app. if you want a fast app, then it has to be lean, only do what you need and nothing else.

like image 58
Dmitri Avatar answered Dec 23 '22 15:12

Dmitri


symfony is used by Yahoo on it's Bookmarks and Answers site. You should note they ditched the ORM so the database remains as the main concern for scaling (as Dmitri stated), you can read more about it here.

Dailymotion is also using symfony.

My question to any large scale developers out there is, are frameworks still useful in this situation and if so which have been used successfully in large scale production situations?

I've seen symfony-based applications successfully scale up to many thousands of users so is a strong candidate.

like image 30
dcestari Avatar answered Dec 23 '22 15:12

dcestari