Book Review: Advanced Guide to PHP on IBM i

Web Languages
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Enterprise-level PHP skills and techniques have been adapted for IBM i developers in Kevin Schroeder's new book.


In the eight years since PHP became available to IBM i, applications running PHP on the i have become more sophisticated and mission-critical. Wise developers will want to employ modern development techniques to ensure that their applications are easy to maintain and test. A new book by Kevin Schroeder, Advanced Guide to PHP on IBM i, offers IBM i developers professional development techniques to keep pace with the needs of today's growing applications.


My first exposure to Kevin's latest book was an excerpt on MC Press Online: "Test-driven PHP Development." I was impressed that Kevin was introducing IBM i developers to PHPUnit, a tool used throughout the PHP community (not only on IBM i) to test PHP applications and to build confidence that applications will not "break" when new code is deployed. Kevin showed confidence that his readers would be willing to learn concepts and techniques such as automated unit testing.


While most of the suggestions found in Advanced Guide to PHP on IBM i could apply to any platform, Kevin distinguishes his book by showing how to apply the techniques to IBM i. Other books seeking to demonstrate how to create an authentication adapter, for example, would probably show a MySQL example, but here, the examples use IBM i-friendly DB2 and the PHP Toolkit for IBM i. Kevin's examples are immediately applicable to the needs of PHP developers on i.


Topics include:

  • Review of OO, Schroeder-style (worth reading)
  • Namespaces
  • Design patterns. More than a dozen are covered, including:
    • Singleton
    • Factory
    • Adapter
    • Model-View-Controller
    • Dependency Injectio
  • Standard PHP Library functionality such as:
    • Iterator
    • Countable
    • ArrayObject
  • Debugging using Zend Studio
  • Security, covering the most important PHP-related issues (not IBM i security), including:
    • SQL Injection
    • Cross-Site Scripting
    • Cross-Site Request Forgery
    • Encryptio
  • User interface and AJAX
  • Unit testing
  • Web services
  • PHP for IBM i Toolkit (new toolkit), including how to apply design patterns as explained earlier in the book
  • Performance


This book assumes that the user is familiar with the concepts of object-oriented programming. Advanced topics begin quickly after a short review of OO, which is fair enough for a book with "Advanced" in the title. I'd recommend Advanced Guide to PHP on IBM i for developers who:

  • have casually mucked about with object-oriented PHP but want to go further, to build applications that are easy to maintain as they grow
  • plan to learn a PHP framework such as Zend Framework and want to learn its design pattern underpinnings (though the book does not teach any particular framework)
  • wish to improve security
  • are ready to learn test-driven development to improve code quality
  • enjoy learning new skills from a good teacher


Kevin knows his subject, writes well, and tests his ideas before committing them to paper. IBM i developers who wish to take their PHP skills to the next level can rely on the guidance offered in Advanced Guide to PHP on IBM i.