Приглашаем посетить
Русский язык
(rus-yaz.niv.ru)
Table of Contents
Advanced PHP Programming
By
George Schlossnagle
...............................................
Pub Date:
February 20, 2004
Pages:
672
About the Author
Acknowledgments
We Want to Hear from You!
Reader Services
Foreword
Introduction
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
Documentation
Further Reading
Chapter 2. Object-Oriented Programming Through Design Patterns
Introduction to OO Programming
A Brief Introduction to Design Patterns
Overloading
Further Reading
Chapter 3. Error Handling
Handling Errors
Handling External Errors
Exceptions
When to Use Exceptions
Further Reading
Chapter 4. Implementing with PHP: Templates and the Web
Smarty
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
XML-RPC
SOAP
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
Variables
Functions
Classes
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
SAPIs
Modifying and Introspecting the Zend Engine
Homework
Index