The Leading Educational Resource for IT Professionals

Book Review: The IBM i Programmer's Guide to PHP


Both a primer and a reference, this book is a must-have for anyone who wants to program in PHP.

By Mike Pavlak

After developing Web solutions for the iSeries in Net.Data and then getting a sour taste from Java, I wanted something better. PHP was certainly the right choice, but making it run on an iSeries at the time was no small feat. Then Zend came to the table, and the rest, as they say, is history. There is no way any of us on the ground floor of this amazing union could have anticipated this level of excitement and interest. We continue to see huge numbers being drawn to PHP on IBM i as well as Linux, UNIX, and Windows. And this book comes at just the right time; it's both a primer and a reference.

I was so excited to see this book that I didn't know where to start. Knowing that many RPG and COBOL developers struggle with the realm of object-oriented development, I went there first. I wanted to see how authors Kevin Schroeder and Jeff Olen would handle working this topic into the typical RPG developer's lexicon. Needless to say, I was not disappointed. Even I struggle with OOP, but between Chapter 7 and the PHP language itself, I now feel a lot better about tackling assignments that make use of OO principles and am more inclined to move in that direction. Still, it's nice to know that the procedural model is alive and well and covered nicely in Chapters 1-5 as well as exhibited in several examples.

Starting off with an assumption that the reader has little to no experience with PHP, each chapter in the book builds upon the last in an easily digestible manner so that, regardless of your skill set, you will be able to jump in and keep moving forward. Even if you have been playing with PHP, you will still get a lot from the way i5 concepts are covered in painstaking detail. Unlike a lot of other texts, the authors stick to the facts and deliver a discussion about PHP devoid of technical posturing. The exhibits are plentiful (and are not copied from the Web site), so I now have a new set of examples to understand the basic and not-so-basic principles of PHP.

For years, I worked with DB2 on IBM i as if it were the only database in existence. Manipulating stream files was done through complex APIs and CL commands that were fraught with challenges. Chapter 6 goes into detail about how easy it is to work with these files, and I found the examples quite useable. Accessing stream files is something the typical PHP developer does on a regular basis. The examples in this chapter do a good job of bridging the gap in my mind regarding the differences between the relational world and that of simple file structures. The use of FTP wrappers demonstrates the basics of accessing stream files on other servers, making remote file access a simple task.

A lot of the open-source code on the Internet is located in places like SourceForge and The overwhelming majority of these applications use MySQL as a database. While MySQL has been supported on IBM i for quite some time, Chapter 8 delivers useful information by showing simple and practical examples of how to work with the world's most popular database on IBM i. One of the pleasant side effects of absorbing the PHP examples here is the unadulterated use of SQL for not only database access but also object creation. This is the first text that really addresses the need to help an old IBM i greybeard like me implement and use MySQL.

And as if that weren't enough, two other sections explain Zend Studio and Zend Framework. Zend Studio, the premier PHP IDE, provides the best PHP development experience for IBM i. The basic functions of code completion and i5 integration are enhanced through a thorough discussion of PHPDocumenter and advanced debugging with the Zend Debugger and Profiler. Once comfortable with the IDE, I really enjoyed the discussion about some of the more popular frameworks. The brief but healthy discussion of these frameworks concludes with an in-depth examination of Zend Framework.

If I had one complaint about this book it would be that, despite its jam-packed 376 pages, it's still too short! Nonetheless, there is plenty of meat for this barbeque, and it tastes mighty fine! This book is a must-have for any IBM midrange shop working with PHP or considering using PHP to develop mission-critical applications. It delivers an honest discussion of technology from a couple of guys who "get it," and I'm happy to add it to my bookshelf. But it won't be up there much, as I will be referring to it often.

Also in Book Reviews

Book Review: Extract, Transform, and Load with SSIS


This book could easily be used as a teaching tool for students, interns, or even as a reliable resource for experienced SSIS developers to consult when they need an ETL refresher.

Continue Reading →

Book Review: 21st Century RPG: /Free, ILE, and MVC


Dave touches all the important buttons, and you’ll learn a lot with this book—even if you’re stuck in the 1980s RPG III world!

Continue Reading →

Book Review: Developing Business Applications for the Web--With HTML, CSS, JSP, PHP, ASP.NET, and JavaScript


The book breaks down the topic of business Web application development into three main sections. The first section covers static Web pages and the techniques used to develop these pages. The second section covers four popular programming languages in use today: JavaScript, PHP, ASP.NET, and JavaServer Pages (JSP). The third section covers topics that a Web developer needs to understand to develop successful Web applications.

Continue Reading →