Advanced PHP Programming
George Schlossnagle

ISBN-10: 0672325616
ISBN-13: 9780672325618

Publisher: Sams Publishing
Copyright: 2004
Format: Paper; 672 pp
Published: 02/20/2004

Suggested retail price: $49.99
Buy from myPearsonStore

The definitive guide to developing large-scale PHP applications, written by the leading authority on the subject.



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.

2. Object-Oriented Programming through Design Patterns.

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

3. Error Handling.

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

4. Implementing with PHP: Templates and the Web.

Smarty. Writing Your Own Template Solution. Further Reading.

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.

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.

7. Managing the Development Environment.

Change Control. Managing Packaging. Further Reading.

8. Designing a Good API.

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

II. CACHING.

9. External Performance Tunings.

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

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.

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.

III. DISTRIBUTED APPLICATIONS.

12. Interacting with Databases.

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

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.

14. Session Handling.

Client-Side Sessions. Server-Side Sessions.

15. Building a Distributed Environment.

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

16. RPC: Interacting with Remote Services.

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

IV. PERFORMANCE.

17. Application Benchmarks: Testing an Entire Application.

Passive Identification of Bottlenecks. Load Generators. Further Reading.

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.

19. Synthetic Benchmarks: Evaluating Code Blocks and Functions.

Benchmarking Basics. Building a Benchmarking Harness. Benchmarking Examples.

V. EXTENSIBILITY.

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.

21. Extending PHP: Part I.

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

22. Extending PHP: Part II.

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

23. Writing SAPIs and Extending the Zend Engine.

SAPIs. Modifying and Introspecting the Zend Engine. Homework.

Index.

George Schlossnagle is a principal at OmniTI Computer Consulting, a Maryland-based tech company that specializes in high-volume Web and email systems. Before joining OmniTI, he led technical operations at several high-profile community Web sites, where he developed experience managing PHP in very large enterprise environments. He is a frequent contributor to the PHP community and his work can be found in the PHP core, as well as in the PEAR and PECL extension repositories.

Before entering the information technology field, George trained to be a mathematician and served a two-year stint as a teacher in the Peace Corps. His experience has taught him to value an interdisciplinary approach to problem solving that favors root-cause analysis of problems over simply addressing symptoms.

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.

View a Sample Chapter PDF: /samplechapter/0672325616.pdf

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.

This title is a member of the Developer's Library, which also contains the titles below . You can also visit the Developer's Library page.

  • 0672325616Advanced PHP Programming
    Schlossnagle
    © 2004 | Sams Publishing | Paper; 672 pages | Instock
    ISBN-10: 0672325616 | ISBN-13: 9780672325618
    Brief Description | Buy from myPearsonStore

  • 0672329123Ajax for Web Application Developers
    Hadlock
    © 2007 | Sams Publishing | Paper; 288 pages | Instock
    ISBN-10: 0672329123 | ISBN-13: 9780672329128
    Buy from myPearsonStore

  • 0672322749Apache Administrator's Handbook
    Bowen, Ridruejo & Liska
    © 2002 | Sams Publishing | Paper; 448 pages | Instock
    ISBN-10: 0672322749 | ISBN-13: 9780672322747
    Brief Description | Buy from myPearsonStore

  • 0672328364Apache Phrasebook
    Lopez & Blanco
    © 2006 | Sams Publishing | Paper; 240 pages | Instock
    ISBN-10: 0672328364 | ISBN-13: 9780672328367
    Buy from myPearsonStore

  • 0672326418Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI, 2/E
    Graham, Davis, Simeonov, Daniels, Brittenham, Nakamura, Fremantle, Koenig & Zentner
    © 2005 | Sams Publishing | Paper; 816 pages | Instock
    ISBN-10: 0672326418 | ISBN-13: 9780672326417
    Buy from myPearsonStore

  • 0672322579Cocoon Developer's Handbook
    Moczar & Aston
    © 2003 | Sams Publishing | Paper; 816 pages | Instock
    ISBN-10: 0672322579 | ISBN-13: 9780672322570
    Buy from myPearsonStore

  • 0672324628ColdFusion MX Developer's Cookbook
    Freitag, Leupen & Reeves
    © 2003 | Sams Publishing | Paper; 408 pages | Instock
    ISBN-10: 0672324628 | ISBN-13: 9780672324628
    Brief Description | Buy from myPearsonStore

  • 0132358042Dojo: Using the Dojo JavaScript Library to Build Ajax Applications
    Harmon
    © 2008 | Addison-Wesley Professional | Paper; 336 pages | Instock
    ISBN-10: 0132358042 | ISBN-13: 9780132358040
    Buy from myPearsonStore

  • 067232704XExtending and Embedding PHP
    Golemon
    © 2006 | Sams Publishing | Paper; 456 pages | Instock
    ISBN-10: 067232704X | ISBN-13: 9780672327049
    Buy from myPearsonStore

  • 0672324547HTTP Developer's Handbook
    Shiflett
    © 2003 | Sams Publishing | Paper; 312 pages | Instock
    ISBN-10: 0672324547 | ISBN-13: 9780672324543
    Brief Description | Buy from myPearsonStore

  • 0672328801JavaScript™ Phrasebook
    Wenz
    © 2007 | Sams Publishing | Paper; 240 pages | Instock
    ISBN-10: 0672328801 | ISBN-13: 9780672328800
    Buy from myPearsonStore

  • 0672324385JavaServer Pages Developer's Handbook
    Todd & Szolkowski
    © 2003 | Sams Publishing | Paper; 840 pages | Instock
    ISBN-10: 0672324385 | ISBN-13: 9780672324383
    Brief Description | Buy from myPearsonStore

  • 0672328380Linux Phrasebook
    Granneman
    © 2006 | Sams Publishing | Paper; 400 pages | Instock
    ISBN-10: 0672328380 | ISBN-13: 9780672328381
    Buy from myPearsonStore

  • 0672329549Mac OS X Leopard Phrasebook
    Tiemann
    © 2008 | Addison-Wesley | Paper; 320 pages | Instock
    ISBN-10: 0672329549 | ISBN-13: 9780672329548
    Buy from myPearsonStore

  • 0672328399MySQL Phrasebook
    Greant & Newman
    © 2006 | Sams Publishing | Paper; 192 pages | Instock
    ISBN-10: 0672328399 | ISBN-13: 9780672328398
    Buy from myPearsonStore

  • 0768678668The Object-Oriented Thought Process, Safari, 3/E
    Weisfeld
    © 2009 | Addison-Wesley Professional | On-line Supplement; 350 pages | Estimated Availability: 08/15/2008
    ISBN-10: 0768678668 | ISBN-13: 9780768678666
    URL: http://www.safari.informit.com


  • 0672330164The Object-Oriented Thought Process, 3/E
    Weisfeld
    © 2009 | Addison-Wesley | Paper; 350 pages | Estimated Availability: 08/07/2008
    ISBN-10: 0672330164 | ISBN-13: 9780672330162


  • 0672328887PHP 5 in Practice
    White & Eisenhamer
    © 2007 | Sams Publishing | Paper; 456 pages | Instock
    ISBN-10: 0672328887 | ISBN-13: 9780672328886
    Buy from myPearsonStore

  • 0672328178PHP Phrasebook
    Wenz
    © 2006 | Addison-Wesley | Paper; 320 pages | Instock
    ISBN-10: 0672328178 | ISBN-13: 9780672328176
    Buy from myPearsonStore

  • 0672329166PHP and MySQL Web Development, 4/E
    Welling & Thomson
    © 2009 | Addison-Wesley | Paper Bound w/CD-ROM; 950 pages | Estimated Availability: 08/27/2008
    ISBN-10: 0672329166 | ISBN-13: 9780672329166


  • 0672326728PHP and MySQL Web Development, 3/E
    Welling & Thomson
    © 2005 | Sams Publishing | Paper Bound w/CD-ROM; 984 pages | Instock
    ISBN-10: 0672326728 | ISBN-13: 9780672326721
    Brief Description | Buy from myPearsonStore

  • 0672320673Perl Developer's Dictionary
    Pierce
    © 2002 | Sams Publishing | Paper; 640 pages | Instock
    ISBN-10: 0672320673 | ISBN-13: 9780672320675
    Brief Description | Buy from myPearsonStore

  • 0672325861Programming in Objective-C
    Kochan
    © 2004 | Sams Publishing | Paper; 576 pages | Instock
    ISBN-10: 0672325861 | ISBN-13: 9780672325861
    Brief Description | Buy from myPearsonStore

  • 0672328623Python Essential Reference, 3/E
    Beazley
    © 2006 | Sams Publishing | Paper; 648 pages | Instock
    ISBN-10: 0672328623 | ISBN-13: 9780672328626
    Buy from myPearsonStore

  • 0672329107Python Phrasebook
    Dayley
    © 2007 | Sams Publishing | Paper; 288 pages | Instock
    ISBN-10: 0672329107 | ISBN-13: 9780672329104
    Buy from myPearsonStore

  • 0672327090Zend PHP Certification Study Guide
    Zend Technologies
    © 2005 | Sams Publishing | Paper; 264 pages | Instock
    ISBN-10: 0672327090 | ISBN-13: 9780672327094
    Buy from myPearsonStore

  • 0672322404mod_perl Developer's Cookbook
    Young, Lindner & Kobes
    © 2002 | Sams Publishing | Paper; 672 pages | Instock
    ISBN-10: 0672322404 | ISBN-13: 9780672322402
    Buy from myPearsonStore

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.


Copyright ©2008 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions