Book Review: Codeigniter 1.7 – Packt Publishing
Review
“CodeIgniter 1.7” by Packt Publishing is a guide book and technical introduction to the well known PHP Application Framework, CodeIgniter. The book, written by Jose Argudo Blanco and David Upton takes the reader through the architecture of the MVC design pattern, and the CodeIgniter implementation. Throughout the book, the authors continually point you to CodeIgniter’s official website and documentation which enforces the concepts in the book. The CodeIgniter getting started guide included with the code is a great guide, but this book really gives the learner a more focused and detailed training on the concepts, features, and functions of the framework.
PROS:
Throughout the book, the authors describe various ways to accomplish the same task, whilst pointing out the easy way vs MVC technically correct way. This helps to demonstrate the flexibility of the framework, yet try to instill best practices onto the reader. Other best practices that are continually re-enforced throughout are the constant pointers about Security and SEO. I like this approach better than some other books, where security is an after thought or a chapter later in the book. “CodeIgniter 1.7” continues to demonstrate how the developer can write better, safer, optimized web applications from start to finish.
The ActiveRecord and CRUD concept is also an area where this book shines. Demonstrations on the power of the various CRUD calls in relation to the database, including Transactional SQL are extremely helpful. Along the way, common pitfalls are pointed out to avoid.
CONS:
The observant reader and skilled programmer will pickup on some minor errors and occasional inconsistencies in the grammar and syntax of the code. A skilled programmer can easily work around these errors; however, it could pose frustrating to the absolute beginner.
For RAILS Developers:
For RAILS programmers interested in exploring PHP frameworks, they will find CodeIgniter a very useful framework. Although, other frameworks such as Symphony and CakePHP are much more complete, and offer many of the same features as RAILS; CodeIgniter is an excellent choice for those looking for a more barebones toolkit. One of the more frustrating aspects to the 2.x version of RAILS is that you can often times be “Jailed” into things working “The RAILS Way” rather than what you would expect. You might also often times find yourself having to either create a workaround or re-invent the wheel to reach the desired result. This often wastes a ton of time. The authors of this book continually express the concepts behind the freedom of choice offered by the CodeIgniter framework.
Conclusion
I recommend this book to anyone beginning an application using a PHP Framework. Before starting this book, one should be familiar with at least the basic concepts of Web programming, object orientation, minimal SQL, and some basic knowledge of the PHP Language. Should you choose to use another framework or even frameworks in another language such as Ruby on Rails, Groovy Grails, or Spring, the basic concepts provided in this book are certainly worth understanding. In order to select a language and framework, it is important to learn about what is available.
The folks at Packt Publishing have really been putting together a great library of Technical Books these past few years. For every book that Packt sells on a particular project, they will donate a portion of the proceeds to the OpenSource project. So be sure to visit their online store and help support your favorite OpenSource project… You might just learn something along the way.


