Review: CodeIgniter for Rapid PHP Application Development // September 23rd, 2007
[Note: I recently had the pleasure of receiving a sample copy of CodeIgniter for Rapid PHP Application Development from Packt Publishing to review for my blog. The following is my as honest and objective as possible review.]
Several months ago I mentioned that I had found a new open-source PHP web application framework, CodeIgniter (CI). I used CI to build a light-weight CMS for the administration of a jewelry web site I created for a client. By using CI I was able to complete the construction in a few days rather than weeks. Since that time I have used CI for a variety of personal projects I constructed to gain a better understanding of CI, PHP, application design, and web services.
Had I known about any books providing more details about CI, I most certainly would have purchased one. But I was unaware of any and thus needed to learn as much as I could about CI on my own. So I was glad to receive what is probably one of the first books to cover Code Igniter, CodeIgniter for Rapid PHP Application Development from Packt Publishing which provides plenty of information to get one started in developing CI applications.
To be honest, I had, to my recollection, never heard of Packt Publishing before so I was slightly concerned about the exact level of CodeIgniter expertise presented in this book. But those concerns subsided when I noticed that CI creator Rick Ellis was one of the book’s reviewers, along with Derek Allard and employee of Rick Ellis’ company Ellis Lab. I doubt either would let bad code or bad coding practices to reach publication.
One thing I liked about this book from the start was the author’s writing and the text readability. I have read quite a few technical books in the past few years and many authors go overboard with technical jargon or fake a vocabulary straight from a thesaurus in attempts to either up word count or merely for inflation of ego. David Upton does neither, leaving the book to stand on its own and be a relatively thin at 244 total pages. The text reads more like Upton is teaching you on a person-to-person bassis rather than other books that seem to instruct like a lecture or textbook.
One the back cover of the book, it is accurately stated:
this book explains how to work with CodeIgniter in a clear logical way. It is not a detailed guide to the syntax of CodeIgniter, but makes an ideal complement to existing online CodeIgniter user guide, helping you grasp the bigger picture and bringing together many ideas to get your application development started as smoothly as possible
This book won’t teach you the granular details of CI or how to build the next great app with a few key-strokes. And this book does present a lot of information that is available in the free CI user guide. You may ask, “Then why bother with this book?” Because this book builds upon that information not only to showcase the power of CI, but also provide a better understanding of how to build better applications with CI. Another reason to check out this book is that Upton also provides examples with the afore mentioned readability that allow for a quicker grasp of concepts than the user guide. And in a couple instances Upton also takes time to compare typical PHP code with its CI counterpart. If you’re not swayed by the simplicity of connecting to and querying your database in a few lines of code within CI, I don’t think anything will get you to move to CodeIgniter or MVC coding.
Even though I have been using CodeIgniter for several months now, this book still presented some useful information and provided a better understanding of the CI framework. Some of the things I picked up from reading this book were testing code (unit tests and benchmarking) and a better grasp on the language class. But it’s not all a love fest with Upton and CI, he does keep it objective and reminds you that CI is not perfect, and lets you know what aspects of CI he does have issues with (one of which is one I too have an issue with — the validation class).
As I said before, you won’t get the finer details of CI. But if you’re at that point with CI already, then this book isn’t for you anyway. Again, right on the back cover it is accurately stated, “This book is for developers who are new to CodeIgniter. Basic skills in PHP and MySQL are required, but only rudimentary object-oriented knowledge is required.” If that is you, then you should consider this book to speed up the learning process with CI.
The book does seem to be a bit steep in price at $35 US for 244 pages, especially if you consider the user guide and forums. However, what I learned about CodeIgniter these past few months occurred after wading through literally hundreds of useless forum and blog posts and spending hours going through my own trial and error of coding to figure things out. Right now, I have a hard time deciding whether or not I would pay $35 for this book since I am already familiar with CodeIgniter, but if I had to go back to when I first started learning about CI, then it would be a no-brainer to buy.