Skip to page content Skip to section menu Skip to site-wide navigation About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

PHP for Programmers - A 3 Day Course

Synopsis

A PHP course designed for experienced programmers who want to build dynamic e-commerce web sites using the PHP programming language. Since PHP is such a rich and task-specific language, the course covers in depth the most important range of functions and equips delegates to understand the remaining less essential aspects.

PHP is Open Source and Cross Platform, running on Unix, Linux, MS Windows, Apple Mac, AS/400 and more, and is often used with an OS-CP database and web server such as MySql and Apache. Thus PHP will work on the operating system and hardware that currently suits your applications and organisation.

PHP 5 is the current version of PHP and is what the course teaches. Differences with PHP 4 are explained for those who need to maintain legacy code. There is also a look forwards to the features expected in PHP 6. MySQL 5 is the primary database that is used, the course also covers Oracle and MS-SQL. Delegates should have few problems transferring their learned skills to interacting to other databased from PHP.

Suitable For

Software developers with no PHP experience and possibly no web programming experience. Students must, however, have strong foundation in general programming. Those with knowledge of C-like languages, especially Perl, should be able to progress quickly through the course.

Groups with limited experience of C-like languages may wish to extend PHP courses beyond the usual 3 days.

Prerequisites

Delivery

This is a hands-on practical PHP workshop based around the development of fully working website services.

At present this instructor-led PHP course is designed primarily for in-house delivery to corporate groups. This usually takes place on-site, i.e. at the premises of the purchasing company. Information about the setup requirements for in-house courses is available on a separate page.

Arrangements can be made for off-site training at a range of facilities, although this can incur costs which have to be added to our normal charges for tuition and course materials.


Contents

Introduction to PHP

  • History of PHP
  • Comparison with dynamic content alternatives (Perl, CGI, ASP, JSP, Servlets , CGI, etc)
  • PHP tools and set up (web browser/server, editor, libraries, etc)
  • Create a basic PHP Script
  • Taking user input (HTML forms)
  • Self Referring Forms
  • Selecting alternatives
  • Use PHP to generate HTTP headers
  • Pass PHP variables via the URL
  • Debugging Tips
  • Where to find PHP documentation

Taking User Input from Forms via PHP

  • Creating forms with PHP
  • Security Protection from Cross Site Scripting
  • Using the form GET method
  • Using the form POST method
  • Obtaining data from forms through variables
  • Using hidden fields
  • Secure Web Forms (HTTPS and SSL)
  • Calling pages from themselves using forms
  • Quoting HTML entities in user input

Variables and Expressions in PHP

  • Identifiers
  • Data Types (integers, floats, strings and booleans)
  • Type juggling
  • Text constants, interpolation (strings, arrays, objects), here documents
  • Creating Variables
  • Variable assignment
  • Variable Scope
  • Namespaces
  • User-defined Constants
  • String constants, variable interpolation into strings
  • HTTP environment variables
  • Magic Constants
  • Variable References

PHP Operators

  • Arithmetic Operators
  • Logical Operators
  • Relational (Comparison) Operators
  • The Identity Operator
  • Bitwise Operators
  • Error Suppression Operator
  • Execution Operators
  • Other Operators
  • Assignment Operators
  • Operator Precedence and Associativity

Conditional Tests and Events in PHP

  • True and False
  • If
  • Comparing Strings and Numbers
  • else and elseif
  • The ? : Operator
  • Comparing for equality or identity
  • The switch / case statement
  • Alternative Syntax for Control Structures

PHP Flow Control

  • Loops
  • while
  • do ... while
  • for
  • break and continue
  • goto
  • exit

PHP Configuration

  • The php.ini file
  • Module Vs CGI Usage
  • register_globals
  • Control of error logging
  • Control of resource limits
  • Commonly set configurations
  • File system security
  • PHP4 compatibility in PHP5
  • A glance at upcoming PHP6

PHP Functions

  • Purpose of functions
  • Built-in functions
  • Declaring functions
  • Functions Arguments
  • Default Arguments
  • Arguments - Call by Reference
  • Return
  • Returning References
  • Variable Scope (global vs local)
  • Static variables
  • Recursion
  • include and require
  • Variable function calls

Storing Data in Arrays using PHP

  • What are arrays?
  • How and when to use arrays
  • Indexing arrays, numeric and hashes
  • Initialising arrays
  • Using foreach
  • Add/remove elements from arrays
  • One-dimensional arrays
  • Multi-dimensional arrays
  • References to array elements
  • Arrays in forms
  • Array operators
  • Array related functions

Handling Databases with PHP

  • PHP's database APIs
  • Error-handling strategies
  • Connection/disconnection, log in/log out
  • Escaping strings in SQL statements
  • Including common access functions
  • Doing simple SQL queries via PHP
  • Building HTML tables using SQL Queries
  • Avoiding SQL Injection attacks
  • Access to: MySql, MySqli, Oracle & MS-SQL
  • Using PEAR DB
  • Using PHP Data Objects - PDO
  • An Insight to Smart Programming

String Manipulation in PHP

  • substring and [] operators
  • Case conversion, trimming
  • Formatting output data
  • Regular expressions

Sessions and Cookies in PHP

  • What is a session?
  • Dependencies on the php.ini file
  • Understanding PHP session variables
  • Create a PHP session variable
  • Register and modify PHP session variables
  • Putting PHP session IDs in pages
  • Good Practise with sessions and PHP
  • Cookie properties
  • Setting a cookie in PHP
  • Retrieving PHP cookies
  • Expiring/Deleting PHP cookies
  • Drawbacks to cookies
  • Using cookies well
  • Cookie Security Issues

File and Directory Access Using PHP

  • Opening files, local and remote
  • Reading and writing files
  • PHP portability on different Operating Systems
  • Finding file metadata
  • Handling file permissions
  • Handling file ownership
  • File locking
  • Opening and reading directories
  • File uploads from the browser/user

Other I/O Issues in PHP

  • Getting IP addresses from visitors
  • Getting referring URLs from visitors
  • Environment variables
  • Showing different content to different browsers (IE, Netscape, Firefox, Mozilla, Opera, etc)
  • Handling HTTP and MIME headers

Object Orientation in PHP

  • Object basics
  • Classes in PHP
  • PHP4 - constructors
  • PHP5 - constructors and destructors
  • Inheritance
  • Accessing instance data and functions
  • __sleep and __wakeup
  • __autoload
  • Class constants
  • PHP5 OO Additions
  • Objects: Assignments and References
  • Try throw catch Exception handling

PEAR, PECL and Smarty

  • PECL quick tour
  • APC - Alternative PHP Cache
  • Xdebug - debugging and profiling
  • PEAR installation and quick tour
  • PEAR Config
  • PEAR Log
  • PEAR Auth
  • PEAR HTML_Quickform
  • Smarty Templates
  • Smarty and HTML_Quickform
  • Smarty and Quickform help with security

Handling Email with PHP

  • Sending email
  • Sending multi part email - MIME
  • Accessing mail boxes - IMAP & POP

Graphics in PHP

  • Graphics basics, referencing a PHP scrip in an IMG tag
  • Image MIME type
  • Basic examples, line/box drawing
  • Creation from an existing image
  • Image copying and resizing
  • Drawing text on images
  • True Type fonts

References to interesting PHP resources on the web