Tuesday, March 26, 2013

Zend Framework 2 vs. CodeIgniter vs. Laravel - Best PHP Framework 2013

Recently I had an idea for a website that led to my need for a PHP framework.  I have worked with a few web frameworks in the past, such as Django and the Google App Engine.

These are just my opinions, you are free to give yours as well in the comments.

CodeIgniter

I started with CodeIgniter, as it was the most popular PHP framework.  Within an hour of fooling around with it, I knew it was not going to work with my project.  Missing unit tests, many locked directory structures, lack of great PHP 5 features, weak models, and no real standard event-based plugin system only begin to describe the inherent flaws.  It's just not a serious contender against the other frameworks being compared.

If you're looking to throw together a website in 5 minutes, it will certainly look that way and be that difficult to maintain.  CodeIgniter is a relic of the past, but it's noob-friendliness will surely attract many for years to come.

Features: 3
Reliability: 4
Ease of Use: 5
CLI: N/A
Documentation: 5
Community: 5

Laravel

Laravel is definitely a modern PHP framework in that it has all the bells and whistles of PHP 5.  Its greatest features are the bundle system, command line tool, and use of the facade pattern so coding in it looks really clean and is easy to read.

With bundles, something severely lacking in CodeIgniter, you simply drop in a folder, edit a config file, and import the schema.  Now you have a full user auth system without having to write a single line of code.  The community sharing bundles of reusable code is what makes it a very powerful architecture. 

It has unit testing on all the components so you can be sure it works how its supposed to.  There is a Laravel 4 coming out which will probably boost its rankings in my eyes.

Features: 4
Reliability: 5
Ease of Use: 4
CLI: 4
Documentation: 3
Community: 4

Zend Framework 2

Zend Framework 2 is similar to Laravel in a lot of ways, and many of the same great points apply.  It is a little harder to get started because the syntax is not as simple, and there is a lot more to configure.  The fact that the Zend module system is more flexible than Laravel's bundles and the ability to really fine-tune the details of your application makes it the key winner for now.

Zend Framework is also far more popular than Laravel so it is easier to find help and employment opportunities.  The irc channel is probably the most active of any PHP framework community.


Features: 5
Reliability: 5
Ease of Use: 3
CLI: 3
Documentation: 4
Community: 5


Verdict: Zend Framework 2, with a good showing by and promising future for Laravel.  CodeIgniter is working on a new version to incorporate what they're missing, but are going to be left out at sea if they don't get with the program.

2 comments:

  1. Laravel, seriosly? So much better frameworks to look at, like Symfony (has been around for a huge amount of years), Kohana etc

    ReplyDelete
  2. How about Zend Framework vs PPI Framework vs Symfony Framework

    ReplyDelete