<

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x

PHP Frameworks Review (Zend, CodeIgniter, Kohana, CakePHP)

Published on
13,289 Points
6,789 Views
5 Endorsements
Last Modified:
Approved
After answering a question on this matter, I decided to publish a little article on this subject.

Many people find themselves wondering which framework to choose for developing PHP apps. The bottom line is: You don't have to choose - learn them all! I will tell you which to learn first, and why.

The concept of programing in a framework is to have a ready-made set of tools to perform everyday tasks, like handling files, e-mailing, printing/validating forms, inserting JavaScript behavior and handling control flow, among other things. Here is a neat table comparing features in some major FWs:

http://www.phpframeworks.com/   <-- must see this link!

Every major framework has these basic functionalities integrated, and it is just a matter of learning the syntax (yes, again and again) for using each of them.

So basically, it boils down to how well your choice of framework is documented! Are docs updated frequently?
Do they have examples? Relying on forums for help is not the way to go when you are a beginner - you'll get stuck quite often, and might have to wait up to a couple days to get any help.

So, to the chase...

CodeIgniter
In my experience learning PHP Frameworks, I have found that, for beginners, the best choice (with all merits included) is CodeIgniter. Besides being feature-filled, fast, lightweight, easy to install/configure and extremely easy to get used to, CI's documentation (the user_guide, which is included in the distributed package) is a handy tool for consulting syntax, and it is rich with useful examples you can simply copy, paste and adapt to your need. Forums and help channels are pretty unnecessary, given the kick-ass docs, but if you do need them, they also rock.

Kohana (a branch off CI)
When you start running into CI's year-old-untackled issues, go to Kohana. Kohana is basically CI leaner, cleaner and optimized. Their documentation is not as good yet, that is why I suggest you start with CI. I have never used Kohana forums or IRC channels (although I'm always in it), because Kohana is very straightforward and simply works.

Zend Framework Definitely the expert's choice
Very flexible, decoupled (which means you can get rid of large chunks of it without breaking it), modular (which means you can add stuff you need into it), and developed by the very people who make PHP. What else can be said? One thing: It can be the fastest of them all. It is not on top of my list because I do not believe it should be the first you should venture into, if you don't have a minimum experience with frameworks.

CakePHP
CakePHP is definitely the most popular one. It is (or was) idealized for people who are starting up, and want to cook up easy apps real fast. My personal experience with it lead me to classify cake as an immature project. The documentation is a real mess, some of it still carries syntax that does not work (being from previous versions). They deprecate stuff and never mention it, you have to figure it out on your own. Also, the hype around it caused the IRC help channel and the forums to fill up with creepy freaks that love to ride on your back if you present yourself as a newbee (this is my own personal experience, I'm sure a lot of people have opposite views). CakePHP is also tremendously inflexible (if forces you to place files in certain places, name them in specific ways and code them as it wishes), highly coupled (erase 1 file, and it breaks) and --the-- slowest of all PHP frameworks, which is why it is last on my list.

I hope this helps, happy coding!

André Tannús - LD @ Diagrama Estúdio.
5
Comment
Author:atannus
3 Comments

Expert Comment

by:duckyfuzz
Do you have any experience with Yii?

It's currently top of the list of Top 10 Ranking PHP Frameworks and Top 10 Hot PHP Frameworks on phpframeworks.com
0
LVL 36

Expert Comment

by:Loganathan Natarajan
Yes, I too vote for YII as this framework am using in my current project.
0
LVL 111

Expert Comment

by:Ray Paseur
The "best" framework at any given time is a moving target, as tastes and capabilities change over time.  Today (2014) Laravel is getting a lot of traction from experienced PHP application developers.  It and some others are profiled by SitePoint here:
http://www.sitepoint.com/best-php-frameworks-2014/
0

Featured Post

Rowby Goren Makes an Impact on Screen and Online

Learn about longtime user Rowby Goren and his great contributions to the site. We explore his method for posing questions that are likely to yield a solution, and take a look at how his career transformed from a Hollywood writer to a website entrepreneur.

Join & Write a Comment

The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month