AUDIENCE
This book is an introduction to the advanced features new to PHP 5. It is writ-
ten for PHP programmers who are making the move to PHP 5. Although
Chapter 2, “PHP 5 Basic Language,” contains an introduction to PHP 5 syn-
tax, it is meant as a refresher for PHP programmers and not as a tutorial for
new programmers. However, web developers with experience programming
other high-level languages may indeed find that this tutorial is all they need
in order to begin working effectively with PHP 5.
CHAPTER OVERVIEW
Chapter 1, “What Is New in PHP 5?” discusses the new features in PHP 5.
Most of these new features deal with new object-oriented features, including
small examples for each feature. It also gives an overview of the new exten-
sions in PHP 5. Most of the topics mentioned in this chapter are explained in
more detail in later chapters.
Chapter 2, “PHP 5 Basic Language,” introduces the PHP syntax to those
readers not familiar with PHP. All basic language constructs and variable
types are explained along with simple examples to give the reader the neces-
sary building blocks to build real scripts.
Chapter 3, “PHP 5 OO Language,” continues exploring PHP 5’s syntax,
focusing on its object-oriented functionality. This chapter covers basics, such
as properties and methods, and progresses to more complicated subjects, such
as polymorphism, interfaces, exceptions, and lots more.
Using the previous chapter as a foundation, Chapter 4, “PHP 5 Advanced
OOP and Design Patterns,” covers some of the most advanced features of PHP
5’s object model. After learning these features, including four commonly used
design patterns and PHP’s reflection capabilities, you will soon become an OO
wizard.
Now that you are familiar with the syntax and language features of PHP,
Chapter 5, “How to Write a Web Application with PHP,” introduces you to the
world of writing web applications. The authors show you basics, such as han-
dling input through form variables and safety techniques, but this chapter
also includes more advanced topics, such as handling sessions with cookies
and PHP’s session extension. You also find a few tips on laying out your source
code for your web applications.
Chapter 6, “Databases with PHP 5,” introduces using MySQL, SQLite,
and Oracle from PHP, but focuses primarily on the PHP 5-specific details of
database access. For each database, you learn about some of its strong and
weak points, as well as the types of applications at which each excels. And of
course, you learn how to interface with them using PHP’s native functions or
using PEAR DB.
Preface
All scripts can throw errors, but of course you do not want them to show
up on your web site once your application has passed its development state.
Chapter 7, “Error Handling,” deals with different types of errors that exist,
how to handle those errors with PHP, and how to handle errors with PEAR.
As one of the important new features in PHP 5 is its renewed XML sup-
port, a chapter on XML features in PHP 5 could not be missed. Chapter 8,
“XML with PHP 5,” talks about the different strategies of parsing XML and
converting XML to other formats with XSLT. XML-RPC and SOAP are intro-
duced to show you how to implement web services with both techniques.
Although not specifically for PHP 5, the five mainstream extensions that
Chapter 9,”Mainstream Extensions,” covers are important enough to deserve a
place in this book. The first section, “Files and Streams,” explains about han-
dling files and network streams. A stream is nothing more than a way to
access external data, such as a file, remote URL, or compressed file. The sec-
ond section, “Regular Expressions,” explains the syntax of a regular expres-
sion engine (PCRE) that PHP uses with numerous examples to show you how
these expressions can make your life easier. In “Date Handling,” we explain
the different functions used to parse and format date and time strings. In
“Graphics Manipulation with GD,” we show you through two real-life scenar-
ios the basic functions of creating and manipulating graphics with PHP. The
last section in this chapter, “Multibyte Strings and Character Sets,” explains
the different character sets and the functions to convert and handle different
ones, including multi-byte strings used in Asian languages.
Chapter 10, “Using PEAR,” introduces PEAR, the PHP Extension and
Application Repository. Starting with concepts and installation, the chapter
shows how to use PEAR and maintain the local installed packages. This chap-
ter also includes a tour of the PEAR web site.
Chapter 11, “Important PEAR Packages,” gives an overview of the most
important PEAR packages, along with examples. Packages covered include
Template Systems, the Auth package to do authentication, form handling
with the HTML_QuickForm package, and a package used to simplify caching.
Chapter 12, “Building PEAR Components,” explains how to create your
own PEAR package. The PEAR Coding Standard and package.xml package def-
inition format, together with tips on including files and package layout, get
you on your way to completing your first PEAR package.
Chapter 13, “Making the Move,” deals with the few backward-incompatible
changes that were introduced between PHP 4 and PHP 5. This chapter tells you
which things you need to take care of when making your application work on PHP
5, and provides workarounds wherever possible.
Chapter 14, “Performance,” shows you how to make your scripts perform
better. The chapter offers tips on standard PHP usage, the use of external util-
ities (APD and Xdebug) to find problems in your scripts, and PHP accelerators
like APC and Zend Performance Suite.
