I secured my first consultancy gig on Monday, developing a web-app for a local business; the end-product is to be deployed onto a standard *nix hosting account, so it’s going to be an adventure in PHP and MySQL from here on in.
Since my first meeting with the client I started collating all the various bits and pieces of PHP I’ve written over the past couple of years with the intention of producing some form of crude framework which would allow me to develop sites quicker and easier. Incidentally I’d also been reading the Design Patterns book over the past month, which really impressed upon me the idea of programming to an interface and not a implementation and software reuse in general. Needless to say, my head was filled beyond capacity with information, I did more thinking than coding and it just hit me on Monday: “why bother re-inventing the wheel?”
After a bit of research I decided to try out the CakePHP framework: it appears to have all the features I need, with plenty of documentation and favourable reviews. It will also help me avoid the dreaded “not invented here" syndrome which would have me write absolutely everything from scratch for no good reason whatsoever.
From what I’ve seen so far of this system I feel I’ve made the right choice: the development process is a lot more rapid and it has brought the joy back into coding for me. I’ve still some way to go before I can leverage the full power of the framework but I’m enjoying having my focus on problem solving rather than writing loads of code to manage things like database interactaction, site navigation and so on. I’ll definitely utilise frameworks in future projects.
All in all I’m pretty excited :) Now back to the code…