| |
| |
Preface | |
| |
| |
| |
Introduction | |
| |
| |
Why PHP 5? | |
| |
| |
What's New in PHP 5? | |
| |
| |
Installing and Configuring PHP 5 | |
| |
| |
| |
Object-Oriented Programming | |
| |
| |
What Is Object-Oriented Programming? | |
| |
| |
Memory Management | |
| |
| |
Basic Classes | |
| |
| |
Class Intermediates | |
| |
| |
Inheritance | |
| |
| |
Magical Methods | |
| |
| |
| |
MySQL | |
| |
| |
Installing and Configuring | |
| |
| |
Procedural Interface | |
| |
| |
Before and After: Connecting to the Database Server | |
| |
| |
Object-Oriented Interface | |
| |
| |
Before and After: Querying and Retrieving Data with Prepared Statements | |
| |
| |
Before and After: Subselects | |
| |
| |
Transactions | |
| |
| |
Before and After: Making Multiple Queries | |
| |
| |
Securing Connections with SSL | |
| |
| |
Porting Code and Migrating Databases | |
| |
| |
| |
SQLite | |
| |
| |
SQLite Basics | |
| |
| |
Alternate SQLite Result Types | |
| |
| |
Object-Oriented Interface | |
| |
| |
Indexes, Error Handling, and In-Memory Tables | |
| |
| |
Transactions | |
| |
| |
User-Defined Functions | |
| |
| |
| |
XML | |
| |
| |
XML Extensions in PHP 5 | |
| |
| |
Installing XML and XSLT Support | |
| |
| |
DOM | |
| |
| |
SimpleXML | |
| |
| |
Converting Between SimpleXML and DOM Objects | |
| |
| |
Before and After: Reading XML into a Tree | |
| |
| |
Before and After: Searching XML with XPath | |
| |
| |
Reading XML as Events with SAX | |
| |
| |
Before and After: Creating New XML Documents | |
| |
| |
Before and After: Transforming XML with XSLT | |
| |
| |
Validating Against a Schema | |
| |
| |
| |
Iterators and SPL | |
| |
| |
Before and After: Using Iterators | |
| |
| |
Implementing the Iterator Interface | |
| |
| |
MySQL Query Iterator | |
| |
| |
Chaining Iterators | |
| |
| |
SimpleXML Iterator | |
| |
| |
Before and After: Recursive Directory Iteration | |
| |
| |
Implementing the RecursiveIterator Interface | |
| |
| |
Array and Object Property Iteration | |
| |
| |
Redefining Class Iteration | |
| |
| |
Iterator and SPL Classes and Interfaces | |
| |
| |
| |
Error Handling and Debugging | |
| |
| |
Before and After: Handling Errors | |
| |
| |
The Benefits of Exceptions | |
| |
| |
System Exceptions | |
| |
| |
The Exception Class | |
| |
| |
User Exceptions | |
| |
| |
Setting a Custom Exception Handler | |
| |
| |
Processing Errors with a Custom Handler | |
| |
| |
Debugging Functions | |
| |
| |
| |
Streams, Wrappers, and Filters | |
| |
| |
Using the Streams API | |
| |
| |
Wrapper Overview | |
| |
| |
Wrapper Details | |
| |
| |
Creating Wrappers | |
| |
| |
Filtering Streams | |
| |
| |
Creating Filters | |
| |
| |
| |
Other Extensions | |
| |
| |
SOAP | |
| |
| |
Tidy | |
| |
| |
Reflection | |
| |
| |
| |
PHP 5 in Action | |
| |
| |
Defining Your Database Schema | |
| |
| |
The Person Class | |
| |
| |
The addressBook Class | |
| |
| |
The Template Class | |
| |
| |
Assembling the Application | |
| |
| |
Wrap-Up and Future Directions | |
| |
| |
| |
Introduction to XML | |
| |
| |
| |
Additional New Features and Minor Changes | |
| |
| |
| |
Installing PHP 5 Alongside PHP 4 | |
| |
| |
Index | |