Table of Contents

Advanced PHP Programming
By George Schlossnagle
Pub Date: February 20, 2004
Pages: 672

   About the Author
   We Want to Hear from You!
   Reader Services
      PHP in the Enterprise
      This Book's Structure and Organization
      Platforms and Versions
    Part I:  Implementation and Development Methodologies
      Chapter 1.  Coding Styles
      Choosing a Style That Is Right for You
      Code Formatting and Layout
      Naming Symbols
      Avoiding Confusing Code
      Further Reading
      Chapter 2.  Object-Oriented Programming Through Design Patterns
      Introduction to OO Programming
      A Brief Introduction to Design Patterns
      Further Reading
      Chapter 3.  Error Handling
      Handling Errors
      Handling External Errors
      When to Use Exceptions
      Further Reading
      Chapter 4.  Implementing with PHP: Templates and the Web
      Writing Your Own Template Solution
      Further Reading
      Chapter 5.  Implementing with PHP: Standalone Scripts
      Introduction to the PHP Command-Line Interface (CLI)
      Handling Input/Output (I/O)
      Parsing Command-Line Arguments
      Creating and Managing Child Processes
      Writing Daemons
      Combining What You've Learned: Monitoring Services
      Further Reading
      Chapter 6.  Unit Testing
      An Introduction to Unit Testing
      Writing Inline and Out-of-Line Unit Tests
      Additional Features in PHPUnit
      Test-Driven Design
      Unit Testing in a Web Environment
      Further Reading
      Chapter 7.  Managing the Development Environment
      Change Control
      Managing Packaging
      Further Reading
      Chapter 8.  Designing a Good API
      Design for Refactoring and Extensibility
      Defensive Coding
      Further Reading
    Part II:  Caching
      Chapter 9.  External Performance Tunings
      Language-Level Tunings
      Cache-Friendly PHP Applications
      Content Compression
      Further Reading
      Chapter 10.  Data Component Caching
      Caching Issues
      Recognizing Cacheable Data Components
      Choosing the Right Strategy: Hand-Made or Prefab Classes
      Output Buffering
      In-Memory Caching
      DBM-Based Caching
      Shared Memory Caching
      Cookie-Based Caching
      Integrating Caching into Application Code
      Further Reading
      Chapter 11.  Computational Reuse
      Introduction by Example: Fibonacci Sequences
      Caching Reused Data Inside a Request
      Caching Reused Data Between Requests
      Computational Reuse Inside PHP
      Further Reading
    Part III:  Distributed Applications
      Chapter 12.  Interacting with Databases
      Understanding How Databases and Queries Work
      Database Access Patterns
      Tuning Database Access
      Further Reading
      Chapter 13.  User Authentication and Session Security
      Simple Authentication Schemes
      Registering Users
      Maintaining Authentication: Ensuring That You Are Still Talking to the Same Person
      Single Signon
      Further Reading
      Chapter 14.  Session Handling
      Client-Side Sessions
      Server-Side Sessions
      Chapter 15.  Building a Distributed Environment
      What Is a Cluster?
      Clustering Design Essentials
      Caching in a Distributed Environment
      Scaling Databases
      Further Reading
      Chapter 16.  RPC: Interacting with Remote Services
      SOAP and XML-RPC Compared
      Further Reading
    Part IV:  Performance
      Chapter 17.  Application Benchmarks: Testing an Entire Application
      Passive Identification of Bottlenecks
      Load Generators
      Further Reading
      Chapter 18.  Profiling
      What Is Needed in a PHP Profiler
      A Smorgasbord of Profilers
      Installing and Using APD
      A Tracing Example
      Profiling a Larger Application
      Spotting General Inefficiencies
      Removing Superfluous Functionality
      Further Reading
      Chapter 19.  Synthetic Benchmarks: Evaluating Code Blocks and Functions
      Benchmarking Basics
      Building a Benchmarking Harness
      Benchmarking Examples
    Part V:  Extensibility
      Chapter 20.  PHP and Zend Engine Internals
      How the Zend Engine Works: Opcodes and Op Arrays
      The PHP Request Life Cycle
      Further Reading
      Chapter 21.  Extending PHP: Part I
      Extension Basics
      An Example: The Spread Client Wrapper
      Further Reading
      Chapter 22.  Extending PHP: Part II
      Implementing Classes
      Writing Custom Session Handlers
      The Streams API
      Further Reading
      Chapter 23.  Writing SAPIs and Extending the Zend Engine
      Modifying and Introspecting the Zend Engine

© 2000- NIV