Introduction to PHP Programming - A 4 Day Course
Synopsis
A PHP course designed to enable web developers and others with limited programming experience to build dynamic database driven e-commerce web sites using the PHP programming language. Since PHP is such a rich and task-specific language, the course covers the most important range of functions in depth, and equips delegates to understand the remaining less essential aspects. The contents of this PHP course are identical to our three day in-house "PHP for Progammers" course, but the pacing is adjusted to suit the needs of public delegates and non-programmers. At the instructor's discretion, training material modules may be omitted if the pace is slightly slower than anticipated.
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
Web developers and web designers with a modest amount of programming experience. Students will typically have used another simple or domain-specific language such as VBscript or Javascript.
If you are new to programming or web development and are contemplating the use of PHP we suggest that you read our
notes on introductory courses first.
Prerequisites
- A basic working knowledge of HTML is presumed.
- Some conceptual knowledge of how web servers and web browsers (clients)
interact using HTTP
- A working knowledge of at least one scripting/programming language or
evidence of strong capabilities in relevant areas of mathematical/logical
reasoning
Delivery
This is a hands-on practical workshop based around the development of fully working PHP website services. Strong emphasis is laid on practical examples for which a range of worked solutions are made available.
This course is now available on both a publicly scheduled basis (see below) and on a in-house basis for company groups. Most in-house delivery is on site at the purchasing company's premises.
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.
The course is usually taught on Linux or MS Windows machines.
Publicly scheduled dates, locations, and prices
Bradford — £1375 (+VAT)
- 31 Aug–3 Sep 2009
- 14–17 Dec 2009
London — £1375 (+VAT)
- 3–6 Aug 2009
- 12–15 Oct 2009
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
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
- 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
exit
PHP Configuration
- The
php.ini file
- Module Vs CGI Usage
register_globals
- Control of error logging
- Control of resource limits
- Commonly set configurations
- PHP 4.1 and above
- 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
- Show access to: MySql, MySqli, Oracle & MS-SQL
- Using PEAR DB
- Using PHP Data Objects - PDO
- 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
- 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
- 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
|