The Leading Educational Resource for IT Professionals

Book Review: Advanced Guide to PHP on IBM i


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

Written by Alan Seiden

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.

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 →