Choosing a good PHP frameworks can help you develop complex Rich Internet Applications quickly, with a best practices oriented approach, and saving a lot of time reusing code snippets that are already available. There are a lot of interesting PHP frameworks you can choose for your next web project. Here is a roundup of the best ones.
For a detailed comparison of web application frameworks I suggest you to take a look at this page on Wikipedia.
CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you’re a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you’re tired of ponderously large and thoroughly undocumented frameworks.
CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like MVC and ORM within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code.
Zend Framework is based on simplicity, object-oriented best practices, corporate friendly licensing, and a rigorously tested agile codebase. Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications & web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.
Yii PHP Framework is a high-performance component-based PHP framework best for developing large-scale Web applications. Yii comes with a full stack of features, including MVC, DAO/ActiveRecord, I18N/L10N, caching, jQuery-based AJAX support, authentication and role-based access control, scaffolding, input validation, widgets, events, theming, Web services, and so on. Written in strict OOP, Yii is easy to use and is extremely flexible and extensible.
PRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5. PRADO stands for PHP Rapid Application Development Object-oriented.
Symfony provides an architecture, components and tools for developers to build complex web applications faster. Choosing symfony allows you to release your applications earlier, host and scale them without problem, and maintain them over time with no surprise. Symfony is based on experience. It does not reinvent the wheel: it uses most of the best practices of web development and integrates some great third-party libraries.
Akelos PHP Framework is a web application development platform based on the MVC (Model View Controller) design pattern. Based on good practices, it allows you to write views using Ajax easily, control requests and responses through a controller, manage internationalized applications, communicate models and the database using simple conventions.
eZ Components is an enterprise ready general purpose PHP components library used independently or together for PHP application development. With eZ Components, developers do not have to reinvent the wheel, instead they can concentrate on solving customer-specific needs.





We use CodeIgniter for all of our web development needs and we couldn’t be happier. CI has a small footprint, a great community and an awesome user guide.
Yii is a great framework. I’m using it on a BIG project and it’s doing the job very well.
I’ve looked at a couple of these but I was wondering which provides the easiest way to setup basic social networking features. For example, I want to create a recipe site where visitors can register and manage personal recipes.
Kohana is great! After reading the awesome CI documentation, I discovered Kohana – much fresher approach in v2.3… and am moving to v3 soon. Simple, good documentation, straightforward, light footprint, fast, low learning curve. I must note that when I started out, the documentation (in terms of tutorials and stuff) was not that good, but it’s improved greatly over the last 6 months or so. I myself have written a ‘getting started’ tutorial for Kohana v.2.3 at http://breaktime.yolasite.com/index/configuring-a-kohana-website-application. Hope this helps someone.
Tash
I used CI and Zend Framework . CI is the framework of choise for me too. MVC on a small footprint and Active Record.
I still wonder why in articles like this one lies the bad habit of not mentioning the Kohana framework… ;)
Here is the link Kohana
i use/love Kohana!
CodeIgniter ;-)
Me too, I use Kohana and I moved from CI which is a great framework but also has something to renew on his structure and code. As far as I could see Kohana is something like a fresh CI.
i need to try kohana..!
If we are talking about development and learning speed my first choices are Codeigniter and Kohana
Regards.
hi .. i am a designer .. want to have some basic knowledge of php and start little development .. simply can you help pick up most .. easier and simplest and yet powerful framework … thnx
I suggest you to try CodeIgniter… there is a lot of documentation on line that can help you quickly start developing with PHP.
CodeIgniter (or Kohana) for always! If I’ll decide to have a headache, I’ll use ZendFramework… blahh… ZF quickly? Not my opinion
CodeIgniter is really great. I’m a CI but I have to admit that Kohana is a better framework than CI for so many reasons.
Symfony is powerfull and it’s great too. I think is one of the best PHP frameworks, really robust and fast to develop. Maybe that’s why Yahoo have an eye on it.
I also tried CakePHP and ZendStudio but I didn’t like them. They seem really slow.. ZF => worst framework but with great tools (or classes?) to work with.
I asked for this one long back but thanks a lot Antonio.
my fav is CI
As others said here, Kohana is also a very good choice. It’s based on CodeIgniter but adds some essential features that CI lacks. Great thing about it is that anything can be extended or overridden and it has very good module support.
We use it with Zend Framework: Kohana acts as the framework to introduce an easy-to-use MVC model extended with module and multi-site support while Zend provides all the heavy feature lifting (e.g. user authentication, form building, etc.).
I like kohana php.. it’s the real framework from community to community.
I am just starting out with codeigniter. The forum on site there is filled with awesome helpful people and there is a great user guide.
Worked with most of them in serious applications, quick classification based on personal “feelings”:
1) Symfony – this is a very well established POS(piece of software)
2) Kohana/CodeIgniter – cleanness
3) Prado – Too .net-ish
4) Yii – must investigate more
5) Zend Framework – praise the mother of …. this is POS but not piece of software
– it is indeed a framework for academia (the code is really well written, but not for normal humans)
– i do not use the mvc framework in this in any manner
– so slow …
Even if it will seem out of scope, i achieved Nirvana by looking at other programming languages, and in my case Python and Django. IT IS NIRVANAA, i tell you, just reserve yourself 30 minutes and do the tutorial, it will blow your mind.
Good programmer life for everyone
Most people know it as a CMS, but the Joomla CMS, is built on an excellent php framework. Well worth checking out.
http://api.joomla.org/li_Joomla-Framework.html
You are missing a very productive framework: Drupal. Drupal is not really only a cms, it’s more like advanced application framework. It does take a while to learn, but it’s worth the trouble.
CodeIgniter FTW!
I personally use CakePHP (am I the only one here?) It has *GREAT* documentation, plus the API holds more info then any book can provide :-)
What about DOCTRINE ?!
CI Rocks!
You must give a chance to Symfony and be convinced it is the best.
CodeIgniter is the best framework ,with many useful helper ,small foot print. unzip,upload,include and run ! quite portable. Zend framework & CakePHP maybe widely use, but using their helper or class are really painful for me. CodeIgniter MVC is easy to learn !
And Jaspal , if you are new in PHP, i don’t suggest you start from framework, framework help you do job by prebuild function, but you never know and never learn anything in PHP.
drupal is the most rubbish CMS , horror documentation, horror support forum,
messy module & plugin site.
If you have try their VIEW module ,you will know.
Symfony here is the only real MVC framework written in PHP 5.
Best regards.
Mauro.
Frameworks can really speed up development, but they come with a price: steep learning curve and added code complexity. nWire for PHP can help, enabling you to quickly understand the code and its’ structure.
Check out the demo here: http://www.nwiresoftware.com/php
I’ve tried tons of different frameworks (not just PHP Frameworks) and CodeIgniter (CI) is by far my favorite one. As far as other frameworks go Django is pretty straight forward as well but I’ve been working with PHP longer than Python so… ^_^
Our next major project is based on Kohana
My vote goes to Zend Framework. Rich feature set, object-oriented, unit-testing ready with additional functionalities… Slow? that’s why there are caching features :-)
Also check out HammerKit. It is a complete studio solution built in PHP targeted at web designers. It requires less coding skill to use, but if you are a PHP wizard then you have full freedom to add your own modules to the system. It’s free to try at http://www.hammerkit.com
Surely, as your post specifically mentions COMPLEX web apps, Symfony and Zend are the only choices?
Zend is a great if a collection of libraries is required whereas Symfony is a fantastic enterprise level MVC framework.
Use CodeIgniter is your project is SIMPLE. Not complex!
KohanaPHP instead of CodeIgniter and life is easier!
Kohana is more my style, I just started researching it and it feels like it just fits with my style. Great article though, it’s good to get the fresh names out there!
Codeigniter for relatively simple apps. Zend Framework for enterprise apps.
I’m really surprised at how few people have mentioned Drupal on here. I’m new to PHP outside of playing with WordPress for a few years, but Drupal seems very clean and easy to pick up so far. Anyone familiar with both Drupal and some of the others have an opinion to share about it for comparison?
I personally recommend CakePHP for any web application. In my experience i have come to love developing with it mainly because of how it separates contents from design.
I tried Symfony but was too complex and i needed to work quickly, Cake’s scaffolding and database connections makes it so easy.
I have been developing applications using php over the past two years. All from scratch, I think i need some rest so will start with frameworks. I will try CodeIgniter and see how it goes since it seems to stand out from comments here. Thank you all for your comments!
Happy Frameworking
Take a Look at Kumbia Enterprise, It has a strong corporate profile but looks great for big php web applications.
http://code.google.com/p/kumbia-enterprise/
Hi Guys ,
I thing symfony is too good , there are lote thing make symfony very in trusted and Code igniter has really good documentation that’s why is get lots of user
Thanks
Sam Smith
Hire Symfony | PHP | CodeIgniter | CakePHP Developer Programmer
Just informing everybody about the new website I just build: http://buildon.net
It is a PHP Frameworks showcase with the goal of visually showing what can be achieved with a particular PHP Framework.
btw, Kohana is for me, the best choose for any kind of projects.
F3::PHP Fat-Free Framework (http://fatfree.sourceforge.net) might be worth a look. It’s a single-file PHP 5.3+ Web development framework with a fast template engine, HTML forms processor and an easy-to-use SQL handler for databases. All that in one tiny 31KB package!
I find rather ridiculous that you left Kohana out of this list! Such a great framework, far superior to codeigniter.
Great list! Definitely useful for every php programmer.
I personally use Cakephp for my own projects. Maybe you should add Hammerkit to this list.
I an using Kohana. Used ci once. But i’m a strict php5 developer. Now i’m looking for a framework for enterprize solution. Do you guys have any suggestion?