Codeigniter? Damn right Codeigniter!
I’m a CodeIgniter lover, user and abuser. This is how I normally describe myself when I have to tell someone something about one of the greatest tools I’ve worked so far in webdevelopment and what I do with it. By now, if you worked with me at some point you know that I use CodeIgniter almost every day and I never get bored with it. And I hope to make you at the very least try it, if not, at least try to insight you in why I’m using it. How did I discovered CodeIgniter?
I was at that point when you already know a bit of PHP, but you still sending some websites to the world always with some fears:
Is it really secure?
Is it really that fast?
Did I make the right choice by using that piece of code from that random guy?
Is this really a good work? After all I spent almost 3 months building this website.
Many of us webdevelopers have come across with these questions. And I was sick and tired of it!
So, I had a big project in hands. My boss, a flash developer / webdesigner, told me: “You should move off PHP and use a powerful framework like Ruby on Rails.” So I actually tried that. Did the usual tutorial were everything is beautiful “How to make a Blog in 15min”. But when I started to do some real work I had a problem, I was not familiar with Ruby. So I started asking myself: Why am I doing this? Starting all from the beginning when I already have some solid background with PHP.
So the second step was in place: I was on the look for a PHP framework. My first choice was symfony. But I found that symfony had a big problem, the learning curve was to big for me. Even bigger than using Ruby on Rails. So symfony was a no go. I didn’t have the time to learn all that stuff because I had to start working on a real project soon.
Then I tried CakePHP for a while. Like it but when I needed something more the lack of proper documentation was a big frustration, having to ask the community all the time for everything is not the way to go. I do prefer to make my own research and find my answers but I can only achieve this with proper documentation.
And then I found CodeIgniter.
Why did I end up choosing CodeIgniter?
When I found CodeIgniter I started like everyone, the official blog tutorial on the website. And I felt in love right there. My first impressions with it:
Just needed to download it and configure one or two files to start working. No need to use a console. And the documentation, God the documentation! I had an orgasm right there. The learning curve was probably the smallest I found on my look out for a Framework. This is just a small list on why I end up choosing CodeIgniter, but this small list says everything, every webdeveloper wants to get their hands dirty right away, and CodeIgniter can provide you with that perspective.
Was it all good?
At the beginning I have to say it was, but soon I started to find some problems like the lack of updates to the framework. At first I didn’t understood why. Many times I found a bug, just to find later that bug was already reported months ago and no update on the framework fixing the bug.
This was probably the time when I found that CodeIgniter was just a side project of ElisLab, and if CodeIgniter was good enough for Expression Engine, then the community would just have to wait for the update. This made me realize that Codeigniter was not that community based. But that didn’t made me walk away from it, because I found that I was not the only one thinking that CodeIgniter should be more about the community.
I’m glad that I didn’t walk away from it because a few weeks ago this happened: GitHub, Reactor, and v2.0.3.
What about now?
Well, now CodeIgniter is evolving even more, and better than that is going where the community want’s it to go, and that’s awesome. The community is becoming stronger and stronger. The official forums are always full of people, new people trying the Framework and old Gurus always willing to help the newbies.
The documentation is still one of the best out there. Although I still think some improvements can be done here, like adding comments to all the subjects (although I think they are already working on that).
More and more websites are featuring CodeIgniter everyday, just look at NetTuts with those awesome tutorials helping everyone that is just starting with this framework. Or even codeigniter.tv that is also helping the community or many others. The twitter community is also one of the best I’ve seen, and I’m glad that most of the CI Developers like me, choose Twitter for their main social network.
The IRC channel always crowded with new people, and people always willing to help you in real time.
Clearly there is much that can be done for CodeIgniter but that will be the community to decide and that’s the way it should have been for a long time now.
So, if you are starting with CodeIgniter I have some advice.
Download the Framework.
Play with it. Do some tutorials, and learn about the MVC structure.
Engage the community: If you think IRC is dead? Think again… Join the Forums and get help or help others getting started.
Give something back! Release open-source code. Get feedback from other people on how to do stuff.
Enjoy the ride! Nothing is worth it if you are not enjoying your work.