Here's a modest list of PHP Frameworks for Beginners.
I love open source. All this time, most of my code writing and learning to write code has been on open source platforms. And these platforms, like Apache, nginx, ruby, python, PHP, etc. now form the backbone of the work I do.
Back when I was beginning my lessons in PHP, I really didn’t know much about PHP frameworks or for that matter inheritence, composition and so on. Thus, I was mostly invested in learning to re-invent the wheel.
As time went on by, and I came to learn more and more and really discover the brilliance that is code reusability, I came to use and rely alot on frameworks. And as I was about to start on a new project for my then clients in my freelancing days, I started researching frameworks. PHP frameworks specifically. And I thought may be a list would help a beginner like me? or some one who’s just looking for a list such as this.
PHP Frameworks
PHP frameworks have been around for quite some time now and they have evolved, robustly.
PHP Frameworks essentially fall under the web application development frameworks category, that allow developers to develop enterprise or business level web applications pronto or at least faster than developing them from scratch.
Web application development frameworks are built on the principles of code libraries, providing snippets of code/libraries/extensions, that help you develop faster, by abstracting mundane and repetitive tasks like database connection, etc by providing a pre-built frame for use.
Here is my list and personal review of some great PHP Frameworks, that you could probably learn and make great web apps with!
Akelos
MVC based PHP Framework with scaffolding, AJAX, transactions and more. I found Akelos to be robust, but again installation can be tiresome. Documentation for beginners trying to grasp PHP Frameworks is extremely limited. All in all good package, but needs to be better where documentation is concerned. I haven’t really tried out the support and there is lively community building on Akelos. There are plenty of plugins too. I did rate Akelos 6 out 10 for people who are just getting to know PHP frameworks.
Pros: Ajax based views. MVC based. Scaffolding available. Great for developing stand alone applications. Screencasts tutorials available. Open source. Download is free.
Cons: Documentation is limited for beginners, there are a lot of things missing in examples given, especially if somebody is trying to decide to use a PHP framework for development purposes. Screencasts are limited.
Rating: I would rate Akelos 6 out of 10.
CakePHP
A MVC based PHP Framework, distributed under the MIT license. CakePHP prides itself in being simple.
“Just look at the name…It’s Cake” CakePHP.org.
Pros: Easy to setup. Easy to use. Compatible with both PHP 4 and 5. Flexible licensing. Plenty of screencasts to help you get setup and for beginners to start using it. Great community. Widely used.
Cons: Documentation could be tighter, a newbie would definitely get scared looking at the documentation.
Rating: I would put cakePHP at 8 out 10.
Notable Comments for cakePHP from readers:
One of Cake’s biggest selling points for me is the amount of help you can get in the #cakephp IRC channel on freenode. It’s unlike any other channels I’ve been in to ask for help (e.g. #drupal-support). People are friendly, receptive to problems and willing to help in a non-condescending manner. It’s often the developers themselves who actually provide help. What more could you ask for? If you’re looking for a more valid “con”, I’d say it’s the approval process for documentation changes. It needs some work but I believe that’s already in motion… Dean Clatworthy
CodeIgniter
My personal favorite, and I myself have learnt using PHP Frameworks, using CodeIgniter and EE. An Open source product from EllisLab, CodeIgniter is easy to learn and grasp for PHP beginners.
Pros: Small foot print. Easy to setup. Delivers performance. Open Source. Almost negligible configuration required. Negligible coding rules. Great documentation for API and for beginners. Runs on PHP 4 and 5. Is independent of PHP 5. Its Fast. Comes with many inbuilt libraries that make coding easier and one can focus on development, rather then finding solutions(not that you shouldn’t but time is of the essence here :) ). It DOES NOT require a templating engine. This means that you can use your xHTML/CSS based designs directly with CodeIgniter. Large Community of developers using this platform.
Cons: Documentation could be better. Screencasts are limited. PEAR support is not there. AJAX based views are possible, but not inbuilt, Mr. Derek “Dallar” Allard of BambooInvoice has made a screencast that would really go down well with beginners.
Rating: All in all CodeIgniter gets an 9 out of 10 from me.
DooPHP
Thanks to mhdex, we have a new contender. DooPHP, is, I feel is a good, robust PHP Framework. It has fabulous documentation, and is feature rich. I would highly recommend starting from DooPHP, if you are a beginner with the MVC framework.
Pros: Great documentation. Great support. Great Coummunity. Extremely low learning curve as compared to some frameworks here. Light. Fast.
Cons: Setup is easy, albeit some features would require some tinkering. May not work with PHP 4.x.
Rating: I would rate DooPHP a nice 9 out of 10.
PHPDevShell
The unique thing about PHPDevShell is that it has a GUI administration panel. Its not much in the aesthetic part, but lets you get the job done. Its more or less like the Joomla CMS, but only what you may think as “Primitive”.
Pros: GUI interface to manage the Framework, includes theme and plugin management. Fast web app development, almost no coding required. User registration and roles are inbuilt and readily available.
Cons: Relatively a new Framework. Not a CMS or MVC framework. Some where in the middle. For intermediate users only. Documentation is not sound. Not at all for beginners.
Rating: From a personal point of view, I was lost while learning how to use the framework. Its can be a little cumbersome. Don’t get me wrong they have a fabulous wiki and support set up, but still needs to be more pro-user. I would rate PHPDevShell 5 out 10.
PRADO
An event driven and component-based framework, Prado is a really robust and completely object oriented. Prado stands for PHP-Rapid-Application-Development-Object oriented. First released in May 2004, has come a long way.
Pros: Object Oriented. Event driven. Free. Suitable for business applications. Organized documentation. Easy installation. Ajax is inbuilt, especially for drag and drop controls.
Cons: Not suggested for beginners. Albeit, its pretty powerful and has come a long way, its still has a long way to go and it will get there. Being almost, completely event driven, it takes a little time getting used to if you are not familiar with event driven APIs or Frameworks.
Rating: I would rate PRADO, 7 out of 10.
Symfony
Symfony is a robust, enterprise level, PHP framework, which is easy to install and has a lot documentation and screencasts available.
Pros: Free, MIT/X11 License. Clean design, small overlead like CodeIgniter.
Cons: Installation can become tedious. Often, once has to pay for support or training. Again, I will not suggest PHP beginners starting with this framework.
Rating: 7.5 out of 10
Zend Framework
The know-all and do-all name in the world of PHP. Zend Framework is pretty trusted and has been associated with PHP since day 1.
Pros: Great documentation, goes to the extent of teaching PHP first! Great for beginners to start with. Clean code. O-O based.
Cons: Latest release requires PHP 5.2.4 or higher. Works wonders if you know AMP setups and work on *ix systems.
Rating: I would rate Zend 9 out 10
Conclusion
Personally, I used to develop a lot of code with CodeIgniter, may be because its easier to grasp, or may be because I have gotten used to it. Zend and PRADO are worth a look. I would not advice beginners to start with Sympfony or with PHPDevShell. The final call still rests with you. I just wanted to bring to light these wonderful technologies/stacks that are available to developers, makers & webmasters, to build some fabulous web applications.
Do you have views on these or any other PHP frameworks? Did I leave some out? Reach out on twitter or via email and let me know.
PS: DooPHP was an edit to the post :) I liked it and had to add it! Thanks mhdex.
Update 2015:
This post has been updated and, a more extensive list is available here - PHP Frameworks: 2015.