Advanced PHP Programming (Paperback)

Advanced PHP Programming (Paperback)

作者: George Schlossnagle
出版社: SAMS
出版在: 2004-02-20
ISBN-13: 9780672325618
ISBN-10: 0672325616
裝訂格式: Paperback
總頁數: 672 頁





內容描述


Over the past three years PHP has evolved from being a niche language used to
add dynamic functionality to small sites to a powerful tool making strong
inroads into large-scale, business-critical Web systems.
The rapid maturation of PHP has created a skeptical population of users from
more traditional "enterprise" languages who question the readiness and ability
of PHP to scale, as well as a large population of PHP developers without formal
computer science backgrounds who have learned through the hands-on
experimentation while developing small and midsize applications in PHP.
While there are many books on learning PHP and developing small applications
with it, there is a serious lack of information on "scaling" PHP for
large-scale, business-critical systems. Schlossnagle¿s Advanced PHP
Programming fills that void, demonstrating that PHP is ready for enterprise
Web applications by showing the reader how to develop PHP-based applications for
maximum performance, stability, and extensibility.
Table of Contents:
Introduction.
I. IMPLEMENTATION AND DEVELOPMENT METHODOLOGIES.

  1. Coding Styles.

Choosing a Style That Is Right for You. Naming
Symbols. Avoiding Confusing Code. Documentation. Further Reading.

  1. Object-Oriented Programming through Design
    Patterns.

Introduction to OO Programming. A Brief
Introduction to Design Patterns. Overloading. Further Reading.

  1. Error Handling.

Handling Errors. Handling External Errors.
Exceptions. When to Use Exceptions. Further Reading.

  1. Implementing with PHP: Templates and the Web.

Smarty. Writing Your Own Template Solution.
Further Reading.

  1. 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.

  1. 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.

  1. Managing the Development Environment.

Change Control. Managing Packaging. Further
Reading.

  1. Designing a Good API.

Design for Refactoring and Extensibility.
Defensive Coding. Further Reading.

II. CACHING.

  1. External Performance Tunings.

Language-Level Tunings. Cache-Friendly PHP
Applications. Content Compression. Further Reading.

  1. 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.

  1. Computational Reuse.

Introduction by Example: Fibonacci Sequences.
Caching Reused Data Inside a Request. Caching Reused Data Between Requests.
Computational Reuse Inside PHP. Further Reading.

III. DISTRIBUTED APPLICATIONS.

  1. Interacting with Databases.

Understanding How Databases and Queries Work.
Database Access Patterns. Tuning Database Access. Further Reading.

  1. 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.

  1. Session Handling.

Client-Side Sessions. Server-Side Sessions.

  1. Building a Distributed Environment.

What Is a Cluster? Clustering Design Essentials.
Caching in a Distributed Environment. Scaling Databases. Further Reading.

  1. RPC: Interacting with Remote Services.

XML-RPC. SOAP. SOAP and XML-RPC Compared.
Further Reading.

IV. PERFORMANCE.

  1. Application Benchmarks: Testing an Entire
    Application.

Passive Identification of Bottlenecks. Load
Generators. Further Reading.

  1. 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.

  1. Synthetic Benchmarks: Evaluating Code Blocks
    and Functions.

Benchmarking Basics. Building a Benchmarking
Harness. Benchmarking Examples.

V. EXTENSIBILITY.

  1. PHP and Zend Engine Internals.

How the Zend Engine Works: Opcodes and Op
Arrays. Variables. Functions. Classes. The PHP Request Life Cycle. Further
Reading.

  1. Extending PHP: Part I.

Extension Basics. An Example: The Spread Client
Wrapper. Further Reading.

  1. Extending PHP: Part II.

Implementing Classes. Writing Custom Session
Handlers. The Streams API. Further Reading.

  1. Writing SAPIs and Extending the Zend Engine.

SAPIs. Modifying and Introspecting the Zend
Engine. Homework.

Index.




相關書籍

Big Data: Algorithms, Analytics, and Applications (Hardcover)

作者 Kuan-Ching Li Hai Jiang Laurence T. Yang Alfredo Cuzzocrea

2004-02-20

Ruby 基礎教程, 5/e

作者 [日]高橋徵義 後藤裕藏

2004-02-20

反應式Web應用開發

作者 [奧地利]曼努埃爾·伯恩哈特

2004-02-20