PHP Frameworks

Now I know PHP to some extent after writing some amount of code for adding music to my website, I decided to explore few PHP frameworks that has been doing buzz in last couple of years. Per my findings, these are the most popular PHP frameworks available today (all are MVC based)
There are still more frameworks like PRADO, Seagull etc, but I think the above listed are amongst the most popular ones. People using other frameworks, please do not get offended by my listing since this is purely based on what google gave me :). For the above listed frameworks, I have gone through the various screencasts available that shows how to do the setup and how to develop a simple project using the framework and the below summary is based on those screencasts. I have not posted the links for those screencasts, bit if somebody is interested and they dont find them in the net, please leave a comment and I will provide URLs for them (I am sure you would find it as these screencasts are very popular)

Cake PHP is one of the old,stable and most used PHP frameworks used today. The main advantage of Cake Php is that it supports automation of whole coding process by which it makes programming simpler and faster. But there is one major disadvantage from this also - Its harder to figerre out "What is going on" without popping your head into the core.So if the app is relatively simple and you don't really want to know the internals of how its working, then this is the framework for you! Cake PHP has been around quite a long time and I also found that off-late there is no major changes to the framework. This indicates two things, one that the framework is now stable and other is that its becoming obsolete/outdated.Documentation wise, Cake PHP is not very well organized, though you would get plenty of it in the net.This is also probably the slowest framework amongst the listed ones.

Zend Framework: If Cake PHP stands at one end of the road, Zend stands at the other end.Its a very abstract kind of framework and its completely configurable.Its just a collection of classes and as such any file or folder can be placed anywhere as long as the location is added to the bootstrap file.Setting up of the framework also required a bit of effort, but once somebody is used to the conventions, things would be a bit simpler. But its definitely not a  cake for starters.Framwork is heavy as well and is sized about 12.4 mb

CodeIgniter stands in between Cake and Zend. What I meant is that it supports some amount of code automation and hence makes coding simpler, but in the same time everything is in plain sight and you can really see how things work.This statement could be at a very high level, but if somebody starts taking a look at the framework, he will surely know what I mean.The other main advantage if CodeIgniter is its very light weight and its the fastest PHP framework available as of today.CI is quite flexible and almost all defaults are allowed for modifications and its very easy and simple to do the setup. Framework is sized about 2.1 mb

Symphony is a very popular framework but is somewhat complex with huge learning curve.Its maily used for a medium to large projects and it has good documentation on its site, as screen casts, tutorials, online books etc. The other major point to note is its the real clone of Ruby On Rails and it tries to mimic all things that RoR does.So this could be a major plus since RoR is already a proven framework.I would recomend this framework only for those who are looking at a RoR kinda framework and are working on a really large enterprise project.

My winner among all these framework is CodeIgniter because of its speed and its simplicity. I have few ideas for a new website development and if at all I start on any of them, I would use CI as the PHP framework on  LAMP/WAMP environment.

Author: pradeep