You are previewing Core PHP Programming, Third Edition.
O'Reilly logo
Core PHP Programming, Third Edition

Book Description

Core PHP Programming, Third Edition is the authoritative guide to the new PHP 5 for experienced developers. Top PHP developer Leon Atkinson and PHP 5 contributor/Zend Engine 2 co-creator Zeev Suraski cover every facet of real-world PHP 5 development, from basic syntax to advanced object-oriented development -- even design patterns! It’s all here: networking, data structures, regular expressions, math, configuration, graphics, MySQL/PostgreSQL support, XML, algorithms, debugging, optimization…and 650 downloadable code examples, with a Foreword by PHP 5 contributor and Zend Engine 2 co-creator Andi Gutmans!

Table of Contents

  1. Copyright
  2. Praise for Core PHP Programming
  3. Prentice Hall PTR Core Series
  4. About Prentice Hall Professional Technical Reference
  5. Foreword
  6. Preface
  7. Acknowledgments
  8. Programming with PHP
    1. An Introduction to PHP
      1. The Origins of PHP
      2. PHP Is Better Than Its Alternatives
      3. Interfaces to External Systems
      4. How PHP Works with the Web Server
      5. Hardware and Software Requirements
      6. What a PHP Script Looks Like
      7. Saving Data for Later
      8. Receiving User Input
      9. Choosing Between Alternatives
      10. Repeating Code
    2. Variables, Operators, and Expressions
      1. A Top-Down View
      2. Data Types
      3. Variables
      4. Constants
      5. Operators
      6. Building Expressions
    3. Control Statements
      1. The if Statement
      2. The ? Operator
      3. The switch Statement
      4. Loops
      5. exit, die, and return
      6. Exceptions
      7. Declare
    4. Functions
      1. Declaring a Function
      2. The return Statement
      3. Scope
      4. Static Variables
      5. Arguments
      6. Recursion
      7. Dynamic Function Calls
    5. Arrays
      1. Single-Dimensional Arrays
      2. Indexing Arrays
      3. Initializing Arrays
      4. Multidimensional Arrays
      5. Casting Arrays
      6. The + Operator
      7. Referencing Arrays Inside Strings
    6. Classes and Objects
      1. Object-Oriented Programming
      2. The PHP 5 Object Model
      3. Defining a Class
      4. Constructors and Destructors
      5. Cloning
      6. Accessing Properties and Methods
      7. Static Class Members
      8. Access Types
      9. Binding
      10. Abstract Methods and Abstract Classes
      11. User-Level Overloading
      12. Class Autoloading
      13. Object Serialization
      14. Namespaces
      15. The Evolution of the Zend Engine
    7. I/O and Disk Access
      1. HTTP Connections
      2. Writing to the Browser
      3. Output Buffering
      4. Environment Variables
      5. Getting Input from Forms
      6. Passing Arrays in Forms
      7. Cookies
      8. File Uploads
      9. Reading and Writing to Files
      10. Sessions
      11. The include and require Functions
      12. Don't Trust User Input
  9. Functional Reference
    1. Browser I/O
      1. Pregenerated Variables
      2. Pregenerated Constants
      3. Sending Text to the Browser
      4. Output Buffering
      5. Session Handling
      6. HTTP Headers
    2. Operating System
      1. Files
      2. Compressed File Functions
      3. Direct I/O
      4. Debugging
      5. POSIX
      6. Shell Commands
      7. Process Control
    3. Network I/O
      1. General Network I/O
      2. Sockets
      3. FTP
      4. Curl
      5. SNMP
    4. Data
      1. Data Types, Constants, and Variables
      2. Arrays
      3. Objects and Classes
      4. User Defined Functions
    5. Encoding and Decoding
      1. Strings
      2. String Comparison
      3. Encoding and Decoding
      4. Compression
      5. Encryption
      6. Hashing
      7. Spell Checking
      8. Regular Expressions
      9. Character Set Encoding
    6. Math
      1. Common Math
      2. Random Numbers
      3. Arbitrary-Precision Numbers
    7. Time and Date
      1. Time and Date
      2. Alternative Calendars
    8. Configuration
      1. Configuration Directives
      2. Configuration
    9. Images and Graphics
      1. Analyzing Images
      2. Creating Images
    10. Database
      1. DBM-Style Database Abstraction
      2. DBX
      3. LDAP
      4. MySQL
      5. ODBC
      6. Oracle
      7. Postgres
      8. Sybase and Microsoft SQL Server
    11. Object Layers
      1. COM
      2. CORBA
      3. Java
    12. Miscellaneous
      1. Apache
      2. IMAP
      3. MnoGoSearch
      4. OpenSSL
      5. System V Messages
      6. System V Semaphores
      7. System V Shared Memory
    13. XML
      1. DOM XML
      2. Expat XML
      3. WDDX
  10. Algorithms
    1. Sorting, Searching, and Random Numbers
      1. Sorting
      2. Built-In Sorting Functions
      3. Sorting with a Comparison Function
      4. Searching
      5. Indexing
      6. Random Numbers
      7. Random Identifiers
      8. Choosing Banner Ads
    2. Parsing and String Evaluation
      1. Tokenizing
      2. Regular Expressions
      3. Defining Regular Expressions
      4. Using Regular Expressions in PHP Scripts
    3. Database Integration
      1. Building HTML Tables from SQL Queries
      2. Tracking Visitors with Session Identifiers
      3. Storing Content in a Database
      4. Database Abstraction Layers
    4. Networks
      1. HTTP Authentication
      2. Controlling the Browser's Cache
      3. Setting Document Type
      4. Email with Attachments
      5. HTML Email
      6. Verifying an Email Address
    5. Generating Graphics
      1. Dynamic Buttons
      2. Generating Graphs on the Fly
      3. Bar Graphs
      4. Pie Charts
      5. Stretching Single-Pixel Images
  11. Software Engineering
    1. Integration with HTML
      1. Sprinkling PHP within an HTML Document
      2. Using PHP to Output All HTML
      3. Separating HTML from PHP
      4. Generating HTML with PHP
    2. Design
      1. Writing Requirements Specifications
      2. Writing Design Documents
      3. Change Management
      4. Modularization Using include
      5. FreeEnergy
      6. Templates
      7. Application Frameworks
      8. PEAR
      9. URLs Friendly to Search Engines
    3. Efficiency and Debugging
      1. Optimization
      2. Measuring Performance
      3. Optimize the Slowest Parts
      4. When to Store Content in a Database
      5. Debugging Strategies
      6. Simulating HTTP Connections
      7. Output Buffering
      8. Output Compression
      9. Avoiding eval
      10. Don't Load Extensions Dynamically
      11. Improving Performance of MySQL Queries
      12. Optimizing Disk-Based Sessions
      13. Don't Pass by Reference (or, Don't Trust Your Instincts)
      14. Avoid Concatenation of Large Strings
      15. Avoid Serving Large Files with PHP-Enabled Apache
      16. Understanding Persistent Database Connections
      17. Avoid Using exec, Backticks, and system If Possible
      18. Use php.ini-recommended
      19. Don't Use Regular Expressions Unless You Must
      20. Optimizing Loops
      21. IIS Configuration
    4. Design Patterns
      1. Patterns Defined
      2. Singleton
      3. Factory
      4. Observer
      5. Strategy
    5. Escape Sequences
    6. ASCII Codes
    7. Operators
    8. PHP Tags
    9. PHP Compile-Time Configuration
    10. Internet Resources
      1. Portals
      2. Software
    11. PHP Style Guide
      1. Comments
      2. Function Declarations
      3. Compound Statements
      4. Naming
      5. Expressions
  12. Index