| | Copyright |
| | Preface |
| | | Who This Book Is For |
| | | Who This Book Is Not For |
| | | What's in This Book |
| | | Other Resources |
| | | Conventions Used in This Book |
| | | Using Code Examples |
| | | We'd Like to Hear from You |
| | | Acknowledgements |
| | Chapter 1. Introduction |
| | | Section 1.1. Why PHP 5? |
| | | Section 1.2. What's New in PHP 5? |
| | | Section 1.3. Installing and Configuring PHP 5 |
| | Chapter 2. Object-Oriented Programming |
| | | Section 2.1. What Is Object-Oriented Programming? |
| | | Section 2.2. Memory Management |
| | | Section 2.3. Basic Classes |
| | | Section 2.4. Class Intermediates |
| | | Section 2.5. Inheritance |
| | | Section 2.6. Magical Methods |
| | Chapter 3. MySQL |
| | | Section 3.1. Installing and Configuring |
| | | Section 3.2. Procedural Interface |
| | | Section 3.3. Before and After: Connecting to the Database Server |
| | | Section 3.4. Object-Oriented Interface |
| | | Section 3.5. Before and After: Querying and Retrieving Data with Prepared Statements |
| | | Section 3.6. Before and After: Subselects |
| | | Section 3.7. Transactions |
| | | Section 3.8. Before and After: Making Multiple Queries |
| | | Section 3.9. Securing Connections with SSL |
| | | Section 3.10. Porting Code and Migrating Databases |
| | Chapter 4. SQLite |
| | | Section 4.1. SQLite Basics |
| | | Section 4.2. Alternate SQLite Result Types |
| | | Section 4.3. Object-Oriented Interface |
| | | Section 4.4. Indexes, Error Handling, and In-Memory Tables |
| | | Section 4.5. Transactions |
| | | Section 4.6. User-Defined Functions |
| | Chapter 5. XML |
| | | Section 5.1. XML Extensions in PHP 5 |
| | | Section 5.2. Installing XML and XSLT Support |
| | | Section 5.3. DOM |
| | | Section 5.4. SimpleXML |
| | | Section 5.5. Converting Between SimpleXML and DOM Objects |
| | | Section 5.6. Before and After: Reading XML into a Tree |
| | | Section 5.7. Before and After: Searching XML with XPath |
| | | Section 5.8. Reading XML as Events with SAX |
| | | Section 5.9. Before and After: Creating New XML Documents |
| | | Section 5.10. Before and After: Transforming XML with XSLT |
| | | Section 5.11. Validating Against a Schema |
| | Chapter 6. Iterators and SPL |
| | | Section 6.1. Before and After: Using Iterators |
| | | Section 6.2. Implementing the Iterator Interface |
| | | Section 6.3. MySQL Query Iterator |
| | | Section 6.4. Chaining Iterators |
| | | Section 6.5. SimpleXML Iterator |
| | | Section 6.6. Before and After: Recursive Directory Iteration |
| | | Section 6.7. Implementing the RecursiveIterator Interface |
| | | Section 6.8. Array and Object Property Iteration |
| | | Section 6.9. Redefining Class Iteration |
| | | Section 6.10. Iterator and SPL Classes and Interfaces |
| | Chapter 7. Error Handling and Debugging |
| | | Section 7.1. Before and After: Handling Errors |
| | | Section 7.2. The Benefits of Exceptions |
| | | Section 7.3. System Exceptions |
| | | Section 7.4. The Exception Class |
| | | Section 7.5. User Exceptions |
| | | Section 7.6. Setting a Custom Exception Handler |
| | | Section 7.7. Processing Errors with a Custom Handler |
| | | Section 7.8. Debugging Functions |
| | Chapter 8. Streams, Wrappers, and Filters |
| | | Section 8.1. Using the Streams API |
| | | Section 8.2. Wrapper Overview |
| | | Section 8.3. Wrapper Details |
| | | Section 8.4. Creating Wrappers |
| | | Section 8.5. Filtering Streams |
| | | Section 8.6. Creating Filters |
| | Chapter 9. Other Extensions |
| | | Section 9.1. SOAP |
| | | Section 9.2. Tidy |
| | | Section 9.3. Reflection |
| | Chapter 10. PHP 5 in Action |
| | | Section 10.1. Defining Your Database Schema |
| | | Section 10.2. The Person Class |
| | | Section 10.3. The addressBook Class |
| | | Section 10.4. The Template Class |
| | | Section 10.5. Assembling the Application |
| | | Section 10.6. Wrap-Up and Future Directions |
| | Appendix A. Introduction to XML |
| | | Section A.1. Comparing HTML and XML |
| | | Section A.2. Well-Formed XML |
| | | Section A.3. Schemas |
| | | Section A.4. Transformations |
| | | Section A.5. XML Namespaces |
| | | Section A.6. XPath |
| | Appendix B. Additional New Features and Minor Changes |
| | | Section B.1. Passing Optional Parameters by Reference |
| | | Section B.2. New E_STRICT Error Setting |
| | | Section B.3. Treating Strings as Arrays Causes Errors |
| | | Section B.4. CLI Now Allows Individual Line Processing |
| | | Section B.5. CLI Always Provides argv and argc |
| | | Section B.6. Oracle (oci8) Extension Functions Renamed |
| | | Section B.7. New Configuration Directives |
| | | Section B.8. Updated COM Extension |
| | | Section B.9. Apache 2 Correctly Sets PATH_TRANSLATED |
| | | Section B.10. strrpos ( ) Uses the Entire Needle |
| | | Section B.11. Windows 95 Support Dropped |
| | | Section B.12. old_function Eliminated |
| | Appendix C. Installing PHP 5 Alongside PHP 4 |
| | | Section C.1. General PHP 5 Configuration |
| | | Section C.2. Module and CGI |
| | | Section C.3. Windows |
| | Colophon |
| | Index |