I’ve spent a good deal of time this week working on a little project using the Code Igniter framework. This is a liberally licensed PHP framework that does some of the same MVC stuff that Rails does for Ruby and CakePHP also does for PHP, but it’s a bit less rigid - which I like.
I tried setting up a project in CakePHP last year, but got rather frustrated by the difficulty I had linking up a rather involved database schema that I ended up putting the project on hold.
Code Igniter is a bit different. It automates a fair amount, but not everything (which I like). To me it’s a lot more clear where things go and how to go about doing what you want to do. I’ve also found it fairly easy to add in my own little frameworks here and there.
I think most developers fall into two categories, those who want to use a framework and those that want to build their own framework. Since I’ve been using my own psuedo-framework for years, I’m much more in the DIY camp. I’m trying hard to work within Code Igniter, and feel like it still gives me enough room to stretch my legs a bit.
At the moment, I plan to use this with two projects I’m working on. If you’re a PHP developer, it’s worth taking a look at.
Popularity: 6% [?]

Cody Foss adds this Comment:
I’ve been using Code Igniter for about the last 6 months and am in love with it. It’s easy to learn and the conventions are clear. And it’s fantastically easy to drop your own functions/classes into.
February 16th, 2007 at 3:02 pm
Bob adds this Comment:
I’ve been using Code Igniter since just after it was first publicly released. It has been continually improved since then and a very enthusiastic community has grown up around it. It’s very powerful, very lightweight, very fast, and very flexible.
What’s not to love?
February 16th, 2007 at 8:54 pm
isaac adds this Comment:
I agree with all you say Alex. I try Rails then Cake and in some blog i found a link to codeigniter website. I try it and there’s no return. It’s impossible to think to create a new project in PHP without codeigniter.
You will love it!
February 17th, 2007 at 2:41 am
Jon adds this Comment:
I’ve been using Code Igniter for almost a year now. It’s extensible, light-weight and doesn’t get in your way.
February 17th, 2007 at 9:43 am
Matt W adds this Comment:
Seems extremely cool. Thanks for sharing.
February 17th, 2007 at 3:27 pm
Felix adds this Comment:
I’ve used my psuedo-framework for years too, but after ther first project made with CI.. I’ve rebuild all my work/classes as CI libraries..
CI gives me the opportunity to be a better programmer, really.
February 18th, 2007 at 1:50 am
Arne Brachhold adds this Comment:
I can recommend the Symfony Framework. I’ve made several smaller projects with it and don’t want to miss it anymore. Simple intranet applications with three or four entities can be done within a few hours including a full administration panel which can be easily customized. The documentation of the framework is very well done too and also available as a printed book if you don’t like to read it on the web.
February 18th, 2007 at 5:45 am
Mary adds this Comment:
The one thing it does that I think is completely stupid: its $_GET handling. It not only doesn’t give access to it from the Input Class, it actually completely disables it, and in the name of “security”. That means your search forms won’t work, folks, unless you use $_POST - which is a terrible idea. If you search the CI forums you can find a patch for that, but I hope the developer(s) will see the light and fix this obstruction.
http://www.codeignit[...]s/input.html
http://www.codeignit[...]ecurity.html
February 20th, 2007 at 1:50 am
Alex adds this Comment:
It’s not that hard to go into the config.php and change:
$config['enable_query_strings'] = FALSE;to:
$config['enable_query_strings'] = TRUE;is it?
February 20th, 2007 at 9:57 am
Matt W adds this Comment:
Or to use the URL handler…
February 20th, 2007 at 3:44 pm
Mary adds this Comment:
Completely messy urls just so you can have a search form that works? Rather rediculous, don’t you think? Especially when there is no legitimate reason to ever disable GET in the first place.
Matt: Would you care to elaborate on just how the routing (which is what I assume you are referring to) would allow it?
February 23rd, 2007 at 10:40 pm
Alex adds this Comment:
I just do my GET searches through a standard controller:
example.com/search/terms+go+here
Just like I do on this site.
It’s really easy to change that behavior in CI if you want to. Don’t use it if you don’t like it though, there are lots of alternatives.
February 23rd, 2007 at 11:37 pm
Matt W adds this Comment:
URL Helper was the wrong direction for me to send you in, URI Class is what I meant:
http://www.codeignit[...]ies/uri.html
February 24th, 2007 at 8:06 am
heyho adds this Comment:
i’ve been searching a framework fit for my web application, which required fast performance for handled about 2 million requests/day. and finally found CI after read some guys done benchmarking several php frameworks. go CI, keep it light-fast
March 20th, 2007 at 8:28 am
2007 in Review | alexking.org adds this Pingback:
[…] February - I get to release a plugin to the public that was built for a client (yay!), share some thoughts on comments and blog posts, continue talking about the alexking.org redesign and start talking about browser tab usage. I also was interviewed and decided I like Code Igniter. […]
January 1st, 2008 at 9:50 am
Dendi Reza adds this Comment:
Hi alex, I’ve been using Code Igniter for about the last 2 months and am in love with it.
Seems extremely easy than CakePHP.
February 8th, 2008 at 12:08 am