It’s exciting times for PHP. Quality frameworks are popping up like
daisies mushrooms skunk cabbage, and it seems like every bob the builder out there is releasing one. Please leave a comment if you know of a framework I haven’t mentioned, or if you have experience with one in the list.
For the project I’m doing at the moment I’m using Seagull, but there are so many good frameworks out there – and I’d like to test at least 3-4 of them by implementing a real-world project.
I’ll keep this list updated as I find new frameworks, so bookmark it ;)
Some of the PHP frameworks out there, and my first impression after a 2-minute browse on their homepages:
- Symfony: PHP5, looks like it could be ‘heavy’ and difficult to setup. Caught my attention when they ran the sleek advent calendar and implemented a real-word project (askeet) in 24-days. A must try.
- QCode: PHP5, suitable for large applications – but they claim it is also lightweight (although in my 2-minute glance I got the impression they were a ‘proper’, heavy framework). Also a must try.
- Prado:PHP5, also looks a bit heavy.
- LightMVC: PHP5, Ah – finally a light framwork ;-) .. Maybe too light? Want to try, but no must try.
- cakePHP: PHP4/5: Also lightweight, looks very promising (seems like it has a good developer base, lots of projects (cakeforge, cakefoundation, etc.) and their main developers hang on #cakephp on freenet. Doesn’t seem to come with login/user/role management though. Anyway, I’m an aspiring cake baker. A must try.
- Fusebox: ColdFusion framework gone PHP. Supposedly very mature. Don’t know much about it.
- Swat: PHP5, Created and backed by a commercial company, but others are welcome to partake. Several of the demos didn’t work when I tested it, so .. no must try.
- Ister: PHP4, lightweight.
- Sourdough: PHP5, don’t know much about it but check it out :)
- Seagull (BSD): PHP4, as mentioned I’m currently implementing a project in Seagull. It uses PEAR for much of it stuff (DataObjects, template system; Flexy, but it’s pluggable). I’m using a pretty old version though (0.4.7, since it’s the latest stable for production) – but 0.5.5 looks very promising. It’s kind of a mix between a framework and a CMS – it has a publising module. Anyhow, it’s not very lightweight, so it might not be suitable for all projects. It comes with session handling, user management (roles, etc.) +++ Check it out.
Added 02/03/2005 (that’s March the second for you Americans) – of course, the list never ends ;)
- Achievo ATK – brands itself this way; “unlike other application frameworks that mainly provide a large set of utility classes, ATK provides a complete framework that requires only small amounts of code to get usable applications, while maintaining full flexibility.” FIAI: Wizard type install, easy. Unfortunately the admin interface looks somewhat amateurish, but I guess it’s maybe just a quick example of the different modules or something.
- PHP on TRAX – Ruby on Rails on PHP.
- P4A (GPL) – PHP For Applications, OO framework for building web-based event-driven applications. It features tableless HTML, accesskey support, point&click app generator, auto data type recognition, UTF-8, i18n/l10n, PEAR integration.
- Yellow Duck Framework – of course, YDF, which was mentioned in a comment here. It looks very promising and lightweight.
- MODx (GPL) – A CMS, but it’s also supposedly a framework which can easily be modified. So if you need login and CMS-like features, maybe you should look at it. FIAI: Install was easy with the wizard-installer, and it looks totally awesome! Comes with a blog application that looks very similar to WordPress, the admin interface looks sleek and web2ish.
- Agavi – Previously Mogavi in case you’ve heard of that.
- WASP – PHP5, seems complex (you need PEAR & Phing to install it). As they say themselves – “This isn’t your hacker’s PHP.”
- typo3 (GPL) – Guess this is one of those CMS/Framework things. These guys have a lot of extensions (check out their website for a list). FIAI: Wizard type install, easy. The admin interface looks.. hmm, oldfashion.
- eZ components 1.0 – (BSD license), supported and maintained by eZ Systems. “This final release provides 16 components that you can freely use in your PHP applications”
- Zend Framework – (Open Source, custom Zend license), the Zend guys with their own framework. Still early, but this could be good.
- Code Igniter – (Generic licence, seems similar to BSD), “Designed to enable, not overwhelm, (..) a very small footprint” + “If you’re a developer who lives in the real world of shared hosting accounts” – I like their thinking! Good looking API/docs, and they also have some nice videos. MVC of course, PHP code is written directly in the view though, so no templating system – but I guess that’s what PHP was meant for, so if you can limit yourself to only do view stuff – it’s all good!
- Horde – (GPL), makes have use of PEAR, as many other frameworks on this list. Their tagline is “Create. Communicate. Collaborate.”
- PHPFaces – for GUI development, create simple web forms and complex user interfaces. They have an AJAX handler.
If I actually get through some of the frameworks on this list, I plan to write a comparison review.
If you have any experience with these frameworks, let me know :)