Which PHP Framework?
I code PHP flat – I mean by that that every time I write an application I start from scratch and this is now becoming tiresome, especially the database access. Now I do have some common functions that I re-use but I can’t help but notice that other PHP coders out there, especially with the advent of PHP 5, are using one of the many frameworks available. But which one for me? Having read around the web it seems there is no best one – it depends on what you are already good at, what you need, how complex your application etc etc.
CakePHP, CodeIgnitor and symfony all caught my eye for various reasons. I liked the look of CodeIgnitor as it looked easy, CakePHP because so many people seem to like it, and symfony because it has been adopted by some of the the most prestigious applications on the web (read delicious). To help decide a good place to start is this page listing all the major features of each PHP framework.
The important features for me were
- fast execution
- not to force the use of templating (I hate Smarty and the like)
- easy to use with short learning curve
- great documentation
That left me deciding to look at symfony.
Now I develop on Windows (Vista on my laptop and XP on my desk), and host on Linux. But the symfony website does not appear to address the difficulties if any, of installing on Vista. There is a link out to external blog where others have advice on setting up on Windows Vista, but that was all I could find. But after a day just trying to get the test environment running in symfony I was completely disheartened. It is really far too involved and too complicated.
What does a lone developer (who already has to be a jack of all trades – web designer, database designer and coder, artist, coder), need with a framework that requires a PhD in good luck to get going? I went through all that manoeuvring just to get as far as the test installation (sandbox). What was the real installation going to be like?
Already feeling jaded, I move onto the CakePHP web site when cute nomenclatures like CakeForge, the Bakery and numerous plays on the cookery theme, start to get on my nerves before I have read a single piece of documentation. OK – that’s not fair. The web site is user-friendly and CakePHP is clearly a mature product with a big following, but I want a product that quickly gets to the point. Time to go. I hear Code Igniter calling.