I have been dipping in and out of using a great open source Rapid Development PHP Framework called CakePHP for the past two years. Developing with this framework has meant I have been able to create functionality in websites a lot quicker and easier than I could ever have done without it.
This was by means my first venture into the world of open source software. As a solo web developer, I have always had to learn how to use the various technologies available, by myself and under my own steam. It was very clear to me from an early stage that if I wanted to learn how to do something, the easiest way would be to look at the approach of other developers.
This started with free scripts I found around the internet which only led to a mess of different scripts which was not maintainable. I then looked for a more complete offering and I came across open source content management systems (CMS) such as Mambo and Joomla, but I always found they were almost too complete. It takes some of the fun out of creating a website, when within just a few clicks hey presto you have a complete website, except for all the features that you really need.
It was clear that I needed something that did a lot of the more complex tasks for me, as trying to code all the different aspects of a website by myself was not feasible and I prefer the freedom and flexibility of working solo. Enter the PHP framework, for me it works like my own development team. I am able to get on with creating a website, while a huge code base works away behind the scenes.
Before starting the massive learning curve (as is the case with all of these open source projects), I checked out a lot of other PHP frameworks. I found the feature list of CakePHP to tick all the boxes I was looking for and using the many conventions, the automagic functions mean the development process is shorter and the learning curve not quite so steep.
It has been a long and sometimes tedious journey to get where I am today, but I feel that it has been well worth the wait.