I can’t remember where I saw this (twitter probably) a few weeks ago, but I can’t help laughing about this whenever I start a new project – I think no matter how well reasoned my choices are at the outset of a project, this is how most of my personal projects work out!
Just like CMS’s I’m incredibly indecisive when it comes to frameworks. I spent years dragging my feet over deciding which php framework I would “standardise” on, before deciding on zend, then deciding against it (too big), then getting as far as using cake for a couple of things (it’s pretty good, but felt a bit too rigid, and call me ridiculous, but I just hate the name). I’ve now gone full circle and started using codeigniter (the first one I tried a few years back) for a couple of main reasons – firstly it is very light and loosely coupled, secondly I’m already using it on toooldtoskate.com, which runs sweetcron. I’m also in tandem using a pure php 5 port of codeigniter called kohana on another project.
I’m hoping the techniques I’ll learn for these will be mostly interchangeable so juggling the two won’t be counterproductive. There was no big deciding factor really, I had just started to realise that the ever growing collection of php code I had been using could be considered a framework of sorts, but was lacking a number of features I would get for free if I adopted an established framework. A friend suggested I steal bits of other frameworks to add to my code base, and another friend mentioned kohana, just as I came to key point in my longest running project (referred to as “frankenapp”, due to the mixture of technologies in use!). I started looking at how I could impose a standard structure for future code and make it more modular, and before I knew it I had the front end being served up by kohana, and a library acting as a simple bridge to legacy code. At the very least, adopting kohana will encourage me to stick to a structure rather than making it up as I go along!