Choosing a PHP Framework – symfony, CakePHP, Code Igniter

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)
  • help with AJAX (yuk Javascript)
  • 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.

Comments

  1. Muhammad Babsail says:

    Have you tried Kohana? Many people use kohana because kohana is “based on community”.
    1 thing I love about CI … great documentation!!

  2. Liz Jamieson says:

    Fortunately where I got stuck with symfony is now a distant memory!

    I chose to use Code Igniter in the end. I know it doesn’t suit everyone, but I find it is just what I need. The installation takes 1 minute on any platform because there basically isn’t one. Although I enjoyed reading about VMWare – thanks Tom for pointing that out to me.

  3. Where did you get stuck installing a Symfony development environment in Vista?

    Have you considered running your favorite Linux distribution in VMWare for a nice development environment?

  4. Liz Jamieson says:

    Why use the term notoriety? It is usually used to mean well known in a negative sense :

    “Known widely and usually unfavourably; infamous: a notorious gangster; a district notorious for vice.” Just wondered.

  5. Another good place to have an idea of PHP framework’s notoriety, maturity and activity :
    http://www.therightsoft.com/softwaretechnologies/webframeworks/?languageid=4

Trackbacks

  1. […] Choosing a PHP Framework – symfony, CakePHP, Code Igniter 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 … […]