Book Cover : Packt Publishing - CodeIgniter 1.7

Book Cover : Packt Publishing - CodeIgniter 1.7

As a new feature of this website, I am starting a book review category of posts. Over the years I have purchased many books from many different publishers. Most recently, I have been purchasing titles from Packt Publishing. I’ve already purchased several of their books such as a title on JQuery, Backbase 4 RIA Development, and most recently, CodeIgniter 1.7. As a Kindle owner and consumer of E-Book’s, I am pleased when a publisher offers their books in both Hard and Soft copies, and bundles them with a discount. Packt has a great selection of books for software developers and other aspects of computing.

Why a PHP Framework Book? Aren’t you a Ruby developer?

As a Ruby and Rails developer, I have often come across limitations or shortcomings of the Rails framework that are often times frustrating. Sometimes these frustrations lead to wanting to hack past or create workarounds, and sometimes these make a programmer feel dirty and unsatisfied with the outcome. A major issue with this is the fear that a future upgrade of the base application framework might prevent such code from working in the future. As I read through the Packt book titled: “Backbase 4 RIA Development”, I came across lots of example code for handling ajax querying on the server side, but most of these examples are in PHP.  I’ve always been somewhat sour about the PHP language as a whole due to the challenges with security, issues with upgrade paths from 4 to 5, and overall code mixins with HTML that to me seemed dirty. One of the best features of MVC style frameworks such as RubyOnRails is the separation of application logic from the views.

Now that there are several PHP frameworks that have taken the MVC approach and are considered mature, I decided to explore the realm of PHP programming. After researching these frameworks, I narrowed down my selection to 2 frameworks in particluar, CakePHP and CodeIgniter. I tested each of these, and found CakePHP to be a lot like RAILS, with its own commands, and similar functionality. One of the things I liked about alternative Ruby frameworks such as Ramaze and Sinatra was the elimination of using a command set to perform simple operations such as creating a model and scaffolding. Half the time, I find myself rewriting the entire scaffold, and I don’t really care about database migrations that rails offers because I prefer the control of doing it myself. CodeIgniter offer this control in PHP, by providing a solid base without the overhead and complexity.

Thanks to folks at Packt for publishing several books on this framework, I am excited to provide a review of the book from the perspective of a Ruby developer.  Stay tuned in the next few weeks for the final draft.