Altabel Group's Blog

The Best PHP Framework

Posted on: March 12, 2012

A good PHP framework should improve security, make websites easier to upgrade and should also dramatically reduce the time it takes you to build websites and web applications. The question that now quite a number of developers and beginners ask is : “What is the best PHP framework?”

I`ve asked this question (what is the best framework) to several our developers and made in the end our list of best PHP frameworks. Perhaps our thoughts will help the developers to come to the best decision in which PHP framework to use.

5th Place : CakePHP
CakePHP is a rapid development framework for PHP which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC. If you look at the statistics, CakePHP is one of the slowest PHP frameworks out there. It’s also rather difficult to learn. The thing why CakePHP is in the top five is massive and vibrant Community. CakePHP community is ahead of all other frameworks. They you can find a great deal of CakePHP gurus that can help you with everything.
PROS: Massive community; a lot of free downloadable sample code and applications
CONS: Slow page loads; difficult to learn

4th Place : Kohana
Kohana resembles in some way Codeigniter. The developers have taken all of the cool aspects of CodeIgniter, made them better and removed most of the suck from the lesser aspects. It is fast and it is rather easy to learn . However Kohana has one major drawback which is virtually the opposite scenario that we see with CakePHP. Kohana’s community is small, elite and somewhat non contributing.What is more there is no manual for the Kohana framework. There is merely a partial manual which nobody from the community seems to be willing or able to finish.
PROS: Fast page loads; modular; similar to Codeigniter (which is considered to be one of the easiest frameworks to learn)
CONS: No manual; lack of support; small, non vocal community

3rd Place : Zend
Zend Framework could be number one framework in terms of employment opportunities. The demand for Zend developers is great and knowing how to use Zend guarantees that you’ll never be out of work.
Built by the makers of PHP, Zend is currently the PHP framework of choice for big business. Like CakePHP, it comes packed with tonnes of advanced features, plugins and free optional downloads. Zend has almost everything you could hope to find in a good PHP framework. It’s powerful, fast and scalable. One of the biggest advantages of Zend is that users of Zend can enjoy all sorts of auto complete functionality (with software packages like Eclipse).
Unfortunately Zend has a couple of drawbacks. One of which is if you want to take advantage of the best that Zend has to offer then you’d better have deep pockets, I mean…you have to pay. What is more, and that is strange enough for such a framework, is that Zend community is rather passive and inactive. On Youtube you will find few tutorials on the subject of Zend
PROS: Zend is the PHP framework of choice for business; it offers outstanding employment opportunities
CONS: Zends users need to purchase (very!) expensive add ons to get the best from Zend; severe lack of community generated tutorials

2nd Place : Codeigniter
It’s relatively easy to learn, delivers lightning fast page loads, has tonnes of advanced features and has a very large and active community. The community counts about 20,000 members of the Codeigniter discussion forum. What is more Codeigner has the best documentation of all the php frameworks. Codeigniter is indeed a 100% free and open source framework with no catches at all and (unlike Zend) no pre-packaged upsell schemes as standard.
However as we think Codeigniter has some weaknesses which prevent it from making the top spot. Firstly, it lacks some of the very powerful functionality of Yii, which slows down development time and makes mistakes more likely. Secondly, to make Codeigniter do some things you need to download and install addons which have been produced by volunteers from the community. Also, to get it using PHP’s native session functionality you should download an addon for that too.
PROS: Fast page loads; brilliant documentation; relatively easy to learn; large community;
CONS: Not as many features as Yii; you need to download third party addons to get the best out of it; non-strict structural requirements make Codeigniter a coding free-for-all

1st Place : Yii
Yii is a component-based high-performance PHP framework for developing large-scale Web applications.
Statistically speaking, Yii at the moment is without doubt the best framework on the market. It gives lightning fast page loads and has more features than you could shake a stick at. The main thing that sends Yii straight to the top spot is the sense that Yii represents the next generation of frameworks. With Yii we have an attempt to improve and change the way people use PHP frameworks.
From the moment you install Yii, you get a perfectly functional and rather impressive website up and running – all automatically. Yii also comes with a range of wizards for common tasks like CRUDing (creating, reading, updating and deleting) which will leave you wondering “Why didn’t any of the other framework makers think of this?” It is well supported and new modules are constantly being released.
Critics of Yii can mention that it’s difficult to learn and too strict. However this obstacle can be easily overcome. There is a fantastic series of articles written by Larry Ullman (one of the best PHP writers) which are all very clear and easy to follow. Unfortunately there is, never the less, a shortage of books and documentation on the subject of Yii. However, that may change in the future.
If you are starting from scratch, you’d better choose Yii before any other framework. it is well supported and new modules are constantly being released.
PROS: the fastest loading of all the major frameworks; automatic generation of base code;
CONS: Being a relatively new framework means lack of books and tutorials; less employment opportunities than other leading frameworks

And which framework is your framework of choice?

Kind regards,
Anna Kozik – Business Development Manager (LI page)
Anna.Kozik@altabel.com
Altabel Group – Professional Software Development

19 Responses to "The Best PHP Framework"

Definitely Yii Framework… leaves everything else in its dust. Version 2 is imminent for release, so we will then all be on a spaceship :-)

Hey

I would CI is comparatively the best Frame work. CI is easy to learn, easy to implement and debug also. CI is light and I was able to install it and create a simple app in minutes. The greatest benefit is the huge community that uses CI which makes it extremely easy to find documentation for whatever you are trying to build. While working with models, CodeIgniter uses a straight way of handling.Configuration and customization of these configuration files are also easy, thus facilitating easy working with various types of developers. Some other features off the top of my head include autoloading, built-in data validation, a wide array of helper functions, and a DB abstraction model that can query the database with a few simple lines of code.

thanks in advance

I couldn’t agree any further with rating Yii #1. We built an open source CRM application (Zurmo.org) that is written in PHP utilizing JQuery, Yii, and RedbeanPHP and relies heavily on test driven development. It might be one of the most complex projects on Yii to date.

Before we started building Zurmo, we looked at Yii, Cakephp, Zend, and Codeigniter. We felt Yii was a great framework because it was lightweight, fast, and clean. It had a full set of functionality and matched up well with the other frameworks. We are delighted with the decision.

It would be interesting to see full list based on that the rating provided.
At the moment it looks incomplete.

good post, added you to my RSS reader.
Ahighbloodpressurediet.com

I would like to tell you thanks for the very nice explanation of the How to update Text content using CSS In our site… Pls update this type of new content in future.

> CONS: No manual; lack of support; small, non vocal community

Your CONS for Kohana are simply not correct. The user guide is built in to every class and module, plus code you comment is automatically pulled into project docs in real time. You can get support free on their forums and IRC channel. The community is not small, either. Non-vocal? Really? Search Kohana on Github (1471) then yii (741). While you’re reading, you might want to check this benchmark while you’re at it: http://bit.ly/jgarXP

thanks for very informative information regarding with the framework. I been working for cakephp for two years and 6months for zend. And now, Im looking for something faster and the codes are easy to maintain. I will try YII..

Why isn’t Symfony2 listed here?

There is no objectively best framework, the best framework is the one the developer clicks with, personally for me that means Codeigniter is a non-starter, because last time I looked at it it looked like it was four years out of date and still trying to accommodate PHP4 with all sorts of fudges.

CakePHP had sucky performance and was basically just an inferior version of Ruby on Rails. Yii is again another RoR clone, but with a bit of .net thrown in, so again I’d simply just use the superior RoR or .net. Furthermore like all frameworks that try to do a lot of automagic for you, they suffer from lack of flexibility as soon as you want to do something outside the box.

Which leaves my two preferred PHP frameworks, Zend, because it is very flexible & well written, Kohana because it conforms to my idea of what a PHP framework should be lightweight and with a certain simplicity / barebones about it, and again is well written (like a cleaner more object orientated version of Codeigniter). I agree both those frameworks lack in the community department, but that isn’t a huge problem for anyone who isn’t a beginner.

I was hoping to read a different article than this in the vein of what Simon says above with, “There is no objectively best framework, the best framework is the one the developer clicks with” instead of a “top 5 frameworks, IMO” sort of article. In my case, I simply don’t like the (H)MVC(L)(QRX) pattern, so any framework that uses it makes me vomit at the outset. The QRX part was a joke – how many random letters can you stuff into your unpronounceable acronym? HMVC+L is a real pattern though. Hierarchical Model-View-Controller + Language (aka multilingual support). Good grief, that one time with HMVC+L was a nightmare – never again.

I’ve given up on frameworks. Been there, done that. Today, I build huge, complex, yet easy-to-use systems very quickly using something called Admin Pack that I found by accident on the Barebones CMS website. I was like, “What the heck, I’ve tried everything else.” It is rather intuitive and a breath of fresh air from all the useless MVC framework junk. It is also only about 480KB and 90% of that is minified jQuery and jQuery UI – stuff I would drop into my custom coding projects anyway. It is bloody fast too. You can’t get any simpler than what it offers yet have the security features of a full framework. Honestly, nothing compares to it – the systems I’ve built with Admin Pack have been done in such a short time that people’s jaws have hit the floor with that “no way”/unbelieving look in their eyes. Heck, even I’ve been impressed by how fast I’ve built the systems that I’ve created with it.

I agree Yii is the most efficient one. I`ve tried Cake and Codeigniter before, but as for now I`m using only Yii and its simply great extentions like coco http://www.yiiframework.com/extension/coco/ or backvendor http://www.yiiframework.com/extension/backvendor/

You’ve forgotten Symfony2. It taken many good things from best java framework Spring and add own. And togeather with composer dependency management introduced in 2.1 it leaves other php frameworks far away nowdays

+1 for Symfony2

The Kohana cons are not correct. Each release has extensive documentation see (http://kohanaframework.org/documentation) plus there is a very active community (http://forum.kohanaframework.org/) and on IRC (irc://irc.freenode.net/kohana). It also has built in benchmarking and PHPUnit testing.

I’m surpised Laravel is not on this list? I am just learning it now, and it seems a good choice, what about you guy’s opinion?

Your developers have probably missed out by not mentioning (or knowning about) Symfony 2. +1

The article is just to old. Yii does not support all those great PHP 5.4 features. A lightweight framework with the capabilities of a simphony 2 or zend 2 would be great…though both can be stripped down…

Some were practical, of course, but others were psychological and emotional.
You must definitely be planning to make it special and memorable
by keeping a good theme, ordering the best food and
choosing the best games. Theme Format: It is almost like standard format
of the pub quiz.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: