I’ve been using PHP for a number of years now, I’m what many would call an expert when it comes to the language. Unfortunately, my development is a tad slower than what I would like because of PHP’s enormous capabilities. I’ve developed my own “framework,” that decreases my development time slightly, but it takes me awhile to dig through the hundreds of custom functions I have written to remember exactly which one I am looking for.
Code Igniter’s goal is to speed up PHP development, as well as making it easy – and I can honestly say it does an amazing job of doing exactly that. Sure, other PHP frameworks have come and gone in the past and there is always PEAR (although many web hosts aren’t very excited about you using it). Where Code Igniter stands out is it’s complete control of PHP and firm seperation into the Model-View-Control mindset.
With Code Igniter I have developed two complete websites, a web-based game and a social network, in less than three weeks. This would have normally taken me at least 6 weeks otherwise, probably more than 2 months. What I really love about Code Igniter is that it not only focuses on PHP, but on development as a whole. The Code Igniter team has a firm grasp of why people choose PHP and the type of applications we design, with this knowledge they’re goal is to make that development easier for us.
A powerful collection of classes will enable you to utilize trackbacks, XML-RPC, database connections, and sessions – even if you don’t know how to accomplish these tasks with straight PHP. A range of “helpers” makes working with directories, forms, XML, even cookies infinitely easier. A plugin system allows the community to get involved and submit their own code that can be of use to other developers.
Ultimately, the MVC (Model-View-Control) seperation is what has really turned me on to Code Igniter. My backend code is neatly organized, in a sensible manner that reflects it’s purpose and usage, more so than it’s standard flow within the end users browsing habits.
Code Igniter recently updated to version 1.1 Beta, which fixed a number of bugs and introduced a new calendaring class to assist in the creation and display of dynamic calendars. A quick read through the Code Igniter User Guide will give you a thorough understanding of the goals and capabilities of this framework and the Code Igniter Community Forums are a great source for extended assistance.