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.
This is a hands-on practical PHP workshop based around the development of fully working website services.
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
A basic working knowledge of HTML is presumed.
Some conceptual knowledge of how web servers and web browsers (clients) interact using HTTP
Good working knowledge of at least one programming language
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call 0333 210 0140 or use our contact form to enquire about places and availability.
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
andelseif
- 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
andcontinue
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
andrequire
- 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