on
PHP Frameworks that I have on my to-checkout list
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.
Added 05.03.2006
- 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.
Added 15.03.2006
- 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 :)
Comments
Comment by Daniel Hofstetter on 2006-02-15 10:06:16 +0000
CakePHP comes with an acl (access control list) implementation with which you can build your login/user/role management.
Comment by pcdinh on 2006-02-15 12:14:04 +0000
SolarPHP: http://www.solarphp.com is very promising. Paul, the main founder of this project is involved in Zend Framework
Comment by Pieter Claerhout on 2006-02-20 11:20:16 +0000
Have a look at Yellow Duck Framework. It’s lightweight, PHP4 compliant and has all nice things such as an object-relational mapper, AJAX support, etc.
Comment by Bjørn on 2006-02-21 20:49:03 +0000
Yellow Duck looked interesting. Nice that it comes with Ajax, BBCode and a Feedcreator… just a couple of things I see my projects are often in need of. Thanks for the comments folks, keep them comming :-)
Comment by Gyo on 2006-03-15 02:08:21 +0000
Check out “code igniter” http://www.codeigniter.com/
Comment by Bjørn on 2006-03-15 20:55:55 +0000
Thanks Gyo! Added it to my list :)
Comment by Ivo Jansch on 2006-03-29 09:08:46 +0000
You write about Achievo ATK: “Unfortunately the admin interface looks somewhat amateurish, but I guess it’s maybe just a quick example of the different modules or something.” We’re aware of the amateurish look of the default theme. Fortunately, the app is themable, using Smarty templates.
Comment by JohnM on 2006-05-14 22:04:45 +0000
I’ve never really understood why frameworks are needed in PHP when we already have PEAR ? Am I the only one who thinks this? or am I missing something here.
Comment by Aldawi on 2006-08-28 22:17:29 +0000
According to the commentaries of each one of frameworks, I believe that those that agree to me are cakeframework and seagull, but as of these recommend you to me? I want to use framework for my project, but I am new in the world of frameworks, some suggestion I will thank for much! greetings!
Comment by Bjørn on 2006-08-29 22:05:46 +0000
Hello Aldawi, cake or sgl you ask .. Well, it depends on what you’re going to make. Do you require user login? Seagull comes with a full user system (groups, rights, register, login, etc.), in addition to an admin section where you can administer those things. So Seagull is sort of a mix between an application framework and .. hmm, an application :-) If you’re creating something small and want to learn something quick – go with Cake. If you’ve got some time, and the system needs things that comes with SGL (such as a user system) – choose Seagull. CodeIgniter is also woth a look, imho – I used it to create http://www.43min.com .. it doesn’t take long to understand the workings of the project and start coding. Haven’t tried Cake yet, but it looks great and their IRC channel is very active so I might just use it for my next site :-)
Comment by Aldawi on 2006-08-30 18:40:46 +0000
thanks!!! for the suggestion I will take it into account, greetings!
Comment by Nicholas Bieber on 2006-09-22 19:39:28 +0000
I’m not much of a coder, but I’ve just started a new job in a web design company in Tokyo, and one of the people there put me on and is trying to get the rest of the company onto Mojavi. Allegedly, Mojavi has/is becoming quite popular in Japan (which I realised now because they have some classes focused on japanese characters, mind you, so may other systems). It looks promising, but I was unaware of MVC or frameworks or whatever until about 12 hours ago, so I’m a little green in the field…
Comment by Marnen Laibow-Koser on 2007-04-30 19:52:09 +0000
Personally, I like Fusebox. It stays out of your way except as necessary, and doesn’t really force you to do things its way if you don’t want to. A lot of the PHP frameworks out there seem to be far too heavy or poorly designed for their own good — I think Fusebox avoids both these pitfalls. Plus it’s available for CF, PHP, and a couple of other languages.
Comment by Lars Olesen on 2007-08-05 17:44:42 +0000
I like the idea behind konstrukt.dk. It is very lightweight and focuses mainly on the controller layer, so you can create your application as you see fit.
I especially like the idea, that it does not force me to use a special controller or a special view, but that it lets me decide for myself, what I like to use.
Comment by klarenSan on 2009-05-22 13:12:46 +0000
Is there a framework that includes multilanguage?
Comment by Bjørn on 2009-05-22 13:21:06 +0000
Sure klarenSan, I think most of the frameworks today have support for internationalization.
I know Seagull, CodeIgniter, Symfony, CakePHP does for sure. Probably most of the others as well :-)