PHP in a Nutshell

Preface 1. Introduction to PHP PHP History Advantages of PHP Getting Help Getting Certified PHP Resources 2. Installing PHP Installing on Windows Installing on Unix Testing Your Configuration System Configuration 3. The PHP Interpreter Running PHP Scripts Extending PHP PEAR Abnormal Script Termination 4. The PHP Language The Basics of PHP Variables Whitespace Heredoc Brief Introduction to Variable Types Code Blocks Opening and Closing Code Islands Comments Conditional Statements Case Switching Loops Infinite Loops Special Loop Keywords Loops Within Loops Mixed-Mode Processing Including Other Files Functions 5. Variables and Constants Types of Data True or False Strings Integers Floats Automatic Type Conversion Checking Whether a Variable Is Set: isset( ) Variable Scope Variable Variables Superglobals Using $_ENV and $_SERVER References Constants Arrays 6. Operators Arithmetic Operators Assignment Operators String Operators Bitwise Operators Comparison Operators Incrementing and Decrementing Operators Logical Operators Some Operator Examples The Ternary Operator The Execution Operator Operator Precedence and Associativity 7. Function Reference Undocumented Functions Handling Non-English Characters 8. Object-Oriented PHP Conceptual Overview Classes Objects Properties The `this' Variable Objects Within Objects Access Control Modifiers Object Type Information Class Type Hints Constructors and Destructors Copying Objects Comparing Objects with == and === Saving Objects Magic Methods Static Class Methods and Properties Helpful Utility Functions Interfaces Dereferencing Object Return Values 9. HTML Forms What Does It Mean to Be Dynamic? Designing a Form Handling Data Splitting Forms Across Pages Validating Input Form Design Summary 10. Cookies and Sessions Cookies Versus Sessions Using Cookies Using Sessions Storing Complex Data Types 11. Output Buffering Why Use Output Buffering? Getting Started Reusing Buffers Stacking Buffers Flushing Stacked Buffers Reading Buffers Other OB Functions Flushing Output Compressing Output URL Rewriting 12. Security Security Tips Encryption 13. Files Reading Files Creating and Changing Files Moving, Copying, and Deleting Files Other File Functions Checking Whether a File Exists Retrieving File Time Information Dissecting Filename Information Handling File Uploads Locking Files with flock( ) Reading File Permissions and Status Changing File Permissions and Ownership Working with Links Working with Directories Remote Files File Checksums Parsing a Configuration File 14. Databases Using MySQL with PHP PEAR::DB SQLite Persistent Connections MySQL Improved 15. Regular Expressions Basic Regexps with preg_match( ) and preg_match_all( ) Regexp Character Classes Regexp Special Characters Words and Whitespace Regexps Storing Matched Strings Regular Expression Replacements Regular Expression Syntax Examples The Regular Expressions Coach 16. Manipulating Images Getting Started Choosing a Format Getting Arty More Shapes Complex Shapes Outputting Text Loading Existing Images Color and Image Fills Adding Transparency Using Brushes Basic Image Copying Scaling and Rotating Points and Lines Special Effects Using imagefilter( ) Interlacing an Image Getting an Image's MIME Type 17. Creating PDFs Getting Started Adding More Pages and More Style Adding Images PDF Special Effects Adding Document Data 18. Creating Flash A Simple Movie Flash Text Actions Animation 19. XML & XSLT SimpleXML Transforming XML Using XSLT 20. Network Programming Sockets HTTP Sending Mail Curl 21. Distributing Your Code Cross-Platform Code 1: Loading Extensions Cross-Platform Code 2: Using Extensions Cross-Platform Code 3: Path and Line Separators Cross-Platform Code 4: Coping with php.ini Differences Cross-Platform Code 5: Checking the PHP Versionwith phpversion( ) and version_compare( ) 22. Debugging The Most Basic Debugging Technique Making Assertions Triggering Your Own Errors Testing with php_check_syntax( ) Source Highlighting Handling MySQL Errors Exception Handling Backtracing Your Code Custom Error Handlers Custom Exception Handlers Using @ to Disable Errors phpinfo( ) Output Style 23. Performance Write Your Code Sensibly Use the Zend Optimizer Use a PHP Code Cache Compress Your Output Don't Use CGI Debug Your Code Use Persistent Connections Compile Right Index