Best PHP Frameworks to build quickly complex web applications

Antonio Lupetti Antonio Lupetti
Woork Up Editor in Chief

Become a Contributor

We are looking for enthusiastic people, lovers of technology and internet for our editorial staff.
Read more...
In spotlight

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.

52
Comments
  • Justin Reply

    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.

  • Edu Reply

    Yii is a great framework. I’m using it on a BIG project and it’s doing the job very well.

  • Amit Reply

    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.

    • Tash Pemhiwa

      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

  • Gafitescu Daniel Reply

    I used CI and Zend Framework . CI is the framework of choise for me too. MVC on a small footprint and Active Record.

  • Alessandro Frangioni Reply

    I still wonder why in articles like this one lies the bad habit of not mentioning the Kohana framework… ;)

    • Antonio Lupetti

      Here is the link Kohana

  • antpaw Reply

    i use/love Kohana!

  • marcojs Reply

    CodeIgniter ;-)

  • Antonio Reply

    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.

  • omagus Reply

    i need to try kohana..!

  • kickbill Reply

    If we are talking about development and learning speed my first choices are Codeigniter and Kohana
    Regards.

  • Jaspal Reply

    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

    • Antonio Lupetti

      I suggest you to try CodeIgniter… there is a lot of documentation on line that can help you quickly start developing with PHP.

  • flux Reply

    CodeIgniter (or Kohana) for always! If I’ll decide to have a headache, I’ll use ZendFramework… blahh… ZF quickly? Not my opinion

  • demogar Reply

    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.

  • Glenn Reply

    I asked for this one long back but thanks a lot Antonio.

  • Yoosuf Reply

    my fav is CI

  • Klaas Reply

    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.).

  • jagoane Reply

    I like kohana php.. it’s the real framework from community to community.

  • Brad Reply

    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.

  • iongion Reply

    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

  • Dean Peterson Reply

    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

  • Vesa Reply

    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.

  • Mini0n Reply

    CodeIgniter FTW!

  • Ivan Reply

    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 :-)

  • Alex Reply

    What about DOCTRINE ?!

  • Ariel Licas Reply

    CI Rocks!

  • Stankiewicz Reply

    You must give a chance to Symfony and be convinced it is the best.

  • Ming Reply

    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.

  • Diseño web Valencia Reply

    Symfony here is the only real MVC framework written in PHP 5.

    Best regards.
    Mauro.

  • Zviki Reply

    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

  • Danilo Stern-Sapad Reply

    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… ^_^

  • Kohana Fan Reply

    Our next major project is based on Kohana

  • Mario Awad Reply

    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 :-)

  • Mark Sorsa-Leslie Reply

    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

  • Jon Reply

    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!

  • bauer Reply

    KohanaPHP instead of CodeIgniter and life is easier!

  • Joel Reply

    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!

  • JoostV Reply

    Codeigniter for relatively simple apps. Zend Framework for enterprise apps.

  • Rob Reply

    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?

  • audiblecode Reply

    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.

  • Amazing Derrick Reply

    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

  • Andersson Reply

    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/

  • Sam Smith Reply

    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

  • PHP Frameworks Showcase Reply

    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.

  • Sandoval Reply

    btw, Kohana is for me, the best choose for any kind of projects.

  • Dominic Xavio Reply

    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!

  • Jonathan Foucher Reply

    I find rather ridiculous that you left Kohana out of this list! Such a great framework, far superior to codeigniter.

  • Pro Reply

    Great list! Definitely useful for every php programmer.

    I personally use Cakephp for my own projects. Maybe you should add Hammerkit to this list.

  • Shiplu Reply

    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?

Leave a Reply

RSS Feeds
Sign-up
Receive our news via e-mail
Sponsored Links

Authors

Antonio Lupetti Antonio Lupetti
Woork Up Editor in Chief
Nicola Armellini Nicola Armellini
Executive Editor