So far, I’m a bit impressed. Though I normally don’t work with PHP frameworks (other than getting my feet wet with Zend) as I prefer to write all of the grunt code myself, I was excited to learn more.
I’m reading a book on version 1.7 given to me by a buddy and former co-worker written by Jose Argudo Blanco and David Upton. It’s written at a decent pace as I’m at chapter 5 and I feel how CodeIgniter rolls!
What has really impressed my so far is Active Record. Though I do understand it’s a design pattern and other frameworks have it to (like CakePHP, ha ha cake) the author(s) did mention that CI implements it differently.
I think the reason I like CI implementation of Active record is that it is a well written and more robust version of a database class I was working on at my former job. At the time, this class was meant to simplify an application I was responsible for that needed a major rewrite. Had I more time to work and refactor it, it probably would have mirrored CI’s Active Record in it’s awesomeness!
I also like how they have implemented MVC (so far from what I have read). I’ve played with Zend’s MVC, though not really a difficult concept to grasp, it was hard to come back to it after months of a siesta. If I recall, Google AppEngine (it’s pretty slick if you haven’t used it) has similarity with how Zend rolls, I can remember how to add a route in CI though I haven’t even done it yet.
Looks like I’m really trying to sell CodeIgniter eh? As much as I do like it so far, there is one thing I do not like but it’s understandable why it is. CI is written ala PHP 4 style and syntax. It’s just a minor irritation to me as I grew up (as a web developer…and still am thanks to SS) with PHP 5. PHP 4 is still widely used, probably mostly in an enterprise environment as change is hard and I understand the need for a unified environment. It’s what made CodeIgniter well, CodeIgniter.
We’ll see how it goes as I will be writing my entire main site with CI, mainly to learn it but also as I feel it’s a good choice to go. I will also be implementing CI in my URL shortner application I wrote not too long ago (check back to see how it goes) but it was only written as a concept and lacks successful feature as pagination and user related function (a basic user authentication system)
-End Devo