I recently stumbled upon the CodeIgniter PHP framework, and a love affair has slowly begun between me and CI.
To make a long story short, WordPress is my favorite system to base a new websites on, and today you can make about any site in WordPress if you are patient enough. Personally I have always worked with the mindset of using the right tool for each job to get it done as quick and easy as possible.
I have a few WordPress based sites, but I also run two sites where WordPress just don't cut it if I don't want to spend an enormous amount of time writing custom plugins. I have built a vintage clothing web shop for a dear friend of mine called Sugarmood as well as a memorial site for our old Amiga demoscene group Equinox
Neither of those two sites would work very well to develop within the WordPress system, so I have written them in plain PHP from scratch. And they work pretty well, but as they have grown in features I started to feel that searching through all the code was becoming cumbersome for each change or update. Coming from a classic application development background for the desktop I wanted to make a MVC (Model - View - Controller) based design instead in PHP to get a structured web application to easy update and extend upon.
So I wrote a few MVC prototypes in PHP to get the ball rolling and build a nice base framework to make sites upon where I easily could reuse code and write any custom functions. And they worked pretty fine.
But Doh! I forgot it was 2009 already and most things you can think of is already thought of.
Fortunately I did some research with Google for MVC techniques and stumbled upon some very fine PHP MVC Open Source frameworks out there. Why re-invent the wheel? So I downloaded CakePHP, Zend Framework and CodeIgniter, installed them all and explored and evaluated them.
They are all good frameworks for using the MVC model to develop web sites around but in the end my choice fell on CodeIgniter. Mainly because it was very lightweight and didn't have it's own huge library of custom commands that would take some considerable amount of time to learn. Remember I don't do this full time so I wanted something that works well, was flexible and with a low learning curve so I could get going right away.
CodeIgniter fulfilled everything I wanted and more, and if you are already familiar with object oriented PHP programming the learning threshold is virtually zero. This suited me perfect.
So I'll now begin moving these two sites into the CodeIgniter framework and then take them to the next step when I have them in place.
In this coming journey to get into the CodeIgniter world I'll probably write quite a lot of custom libraries and plugins to extend it, everything which I plan to also release here as well as writing a few articles around if I find out some interesting techniques. So keep your eyes open, as time passes there will be quite some CodeIgniter related articles, code snippets, tutorials and downloads available here.
So I say, come on and ignite me, baby!