PHP Foundations for IBM i provides the IBM Power systems developers and administrators with an overview of the PHP language and main concepts, so you can bring the power of web and mobile development to the IBM i platform.

This course guides you through the basics of PHP with an experiential approach, filled with numerous examples and hands-on exercises. Your instructor will also explain the similarities and differences between the PHP and RPG languages, to help with comprehension.

What Will You Learn?

This class includes the content of the PHP I Foundations class and additional three IBM i specific sessions. You will learn: 

  • The syntax and structural elements of PHP.
  • How to correctly apply the various control-flow structures.
  • PHP data types, type-juggling, and operator precedence.
  • How to organize code into reusable functions.
  • How to use PHP's file system and array functions.
  • The essential elements of HTTP such as cookies and sessions.
  • How to interact with a database using PHP's Db2 functions and MySQL extensions.
  • How to access your IBM i resources like HLL Programs (RPG, COBOL, CL) and native IBM i artifacts such as system values, data areas, and spooled files using PHP.
  • How PHP runs natively on IBM i and which subsystems provision resources.

Frequently Asked Questions


This course is designed for experienced IBM i system programmers who currently use RPG or COBOL. 


For successful learning, you need a basic knowledge of HTML and experience in RPG/COBOL development or IBM i administration. 

Registration, Terms, and Conditions

If you have any questions, please contact us at

Reserve your spot in this class.


Class Format

This online class provides 23 hours of instruction, divided into 2-hour lectures that include practical examples and student exercises. When you enroll, you will receive a course guide and code samples used in the exercises.

This class can be also delivered by an instructor at your site.


Classes are scheduled to meet the needs of our customers. Once you purchase a class, we will assign you to a class (based on your time zone) within 60 days of purchase.

For interested parties in Milan or Rome, please contact Elena Brambilla with questions about the courses.

Next Steps

After you have purchased your Zend online training course, you will receive an email detailing the registration process. If you have any questions, please contact us at

Special Offer: Interested in taking additional classes and achieving certification? Check out our bundle discount and save money. We recommend:

A-Zend Online Training Course for IBM i Programmers Bundle.

Class Outline

Intro to Programming

  1. Language and Logic of Programming
  2. Types of Programming Languages and Vocabulary
  3. What is PHP
  4. Why use PHP

PHP Language Basics

  1. Syntax
  4. Special Characters
  5. Data Types
  6. Precedence
  7. Symbols

PHP Identifiers

  1. Variables
  2. Constants
  3. Arrays

PHP Control Flow Basics

  1. Operators
  2. Conditionals

PHP Functional Basics

  1. Functions
  2. Function Design Tools
  3. File Systems (Handling)

File System Basics

  1. Constants
  2. Commonly Used File Functions
  3. File System Performance

PHP Web Concepts

  1. Client/Server Communications
  2. How to embed PHP into HTML
  3. How to embed HTML into PHP
  4. Cookies
  5. Sessions
  6. $_GET and $_POST

PHP Database Basics

  1. Introduction to Relationship Databases
  2. Keywords and Statements in SQL
  3. Using PHP Functions with the MySQL Data Engine
  4. Connecting PHP and DB2
  5. Using Connection Error Recovery
  6. Using SQL Error Recovery

Developing PHP Apps

  1. Defining a Solution without Writing Code
  2. Organizing a Concept Solution
  3. Creating a Program Skeleton
  4. Defining Error Checking Requirements
  5. Introduction to Application Security

Challenge Project

  1. Coding an Order Inquiry application

Open Source Toolkit

  1. What is the Toolkit
  2. Object-Oriented PHP
  3. Toolkit Architecture
  4. Parameter Methods
  5. Calling a Program
  6. Toolkit Options
  7. CL Command
  8. System Values