Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Foreword
Preface
Audience
Assumptions This Book Makes
Contents of This Book
Conventions Used in This Book
O’Reilly Online Learning
How to Contact Us
Acknowledgments
Kevin Tatroe
Peter MacIntyre
1. Introduction to PHP
What Does PHP Do?
A Brief History of PHP
The Evolution of PHP
The Widespread Use of PHP
Installing PHP
A Walk Through PHP
Configuration Page
Forms
Databases
Graphics
What’s Next
2. Language Basics
Lexical Structure
Case Sensitivity
Statements and Semicolons
Whitespace and Line Breaks
Comments
Literals
Identifiers
Keywords
Data Types
Integers
Floating-Point Numbers
Strings
Booleans
Arrays
Objects
Resources
Callbacks
NULL
Variables
Variable Variables
Variable References
Variable Scope
Garbage Collection
Expressions and Operators
Number of Operands
Operator Precedence
Operator Associativity
Implicit Casting
Arithmetic Operators
String Concatenation Operator
Auto-Increment and Auto-Decrement Operators
Comparison Operators
Bitwise Operators
Logical Operators
Casting Operators
Assignment Operators
Miscellaneous Operators
Flow-Control Statements
if
switch
while
for
foreach
try...catch
declare
exit and return
goto
Including Code
Embedding PHP in Web Pages
Standard (XML) Style
SGML Style
Echoing Content Directly
What’s Next
3. Functions
Calling a Function
Defining a Function
Variable Scope
Global Variables
Static Variables
Function Parameters
Passing Parameters by Value
Passing Parameters by Reference
Default Parameters
Variable Parameters
Missing Parameters
Type Hinting
Return Values
Variable Functions
Anonymous Functions
What’s Next
4. Strings
Quoting String Constants
Variable Interpolation
Single-Quoted Strings
Double-Quoted Strings
Here Documents
Printing Strings
echo
print()
printf()
print_r() and var_dump()
Accessing Individual Characters
Cleaning Strings
Removing Whitespace
Changing Case
Encoding and Escaping
HTML
URLs
SQL
C-String Encoding
Comparing Strings
Exact Comparisons
Approximate Equality
Manipulating and Searching Strings
Substrings
Miscellaneous String Functions
Decomposing a String
String-Searching Functions
Regular Expressions
The Basics
Character Classes
Alternatives
Repeating Sequences
Subpatterns
Delimiters
Match Behavior
Character Classes
Anchors
Quantifiers and Greed
Noncapturing Groups
Backreferences
Trailing Options
Inline Options
Lookahead and Lookbehind
Cut
Conditional Expressions
Functions
Differences from Perl Regular Expressions
What’s Next
5. Arrays
Indexed Versus Associative Arrays
Identifying Elements of an Array
Storing Data in Arrays
Appending Values to an Array
Assigning a Range of Values
Getting the Size of an Array
Padding an Array
Multidimensional Arrays
Extracting Multiple Values
Slicing an Array
Splitting an Array into Chunks
Keys and Values
Checking Whether an Element Exists
Removing and Inserting Elements in an Array
Converting Between Arrays and Variables
Creating Variables from an Array
Creating an Array from Variables
Traversing Arrays
The foreach Construct
The Iterator Functions
Using a for Loop
Calling a Function for Each Array Element
Reducing an Array
Searching for Values
Sorting
Sorting One Array at a Time
Natural-Order Sorting
Sorting Multiple Arrays at Once
Reversing Arrays
Randomizing Order
Acting on Entire Arrays
Calculating the Sum of an Array
Merging Two Arrays
Calculating the Difference Between Two Arrays
Filtering Elements from an Array
Using Arrays to Implement Data Types
Sets
Stacks
Implementing the Iterator Interface
What’s Next
6. Objects
Objects
Terminology
Creating an Object
Accessing Properties and Methods
Declaring a Class
Declaring Methods
Declaring Properties
Declaring Constants
Inheritance
Interfaces
Traits
Abstract Methods
Constructors
Destructors
Anonymous Classes
Introspection
Examining Classes
Examining an Object
Sample Introspection Program
Serialization
What’s Next
7. Dates and Times
What’s Next
8. Web Techniques
HTTP Basics
Variables
Server Information
Processing Forms
Methods
Parameters
Self-Processing Pages
Sticky Forms
Multivalued Parameters
Sticky Multivalued Parameters
File Uploads
Form Validation
Setting Response Headers
Different Content Types
Redirections
Expiration
Authentication
Maintaining State
Cookies
Sessions
Combining Cookies and Sessions
SSL
What’s Next
9. Databases
Using PHP to Access a Database
Relational Databases and SQL
PHP Data Objects
MySQLi Object Interface
Retrieving Data for Display
SQLite
Direct File-Level Manipulation
MongoDB
Retrieving Data
Inserting More Complex Data
What’s Next
10. Graphics
Embedding an Image in a Page
Basic Graphics Concepts
Creating and Drawing Images
The Structure of a Graphics Program
Changing the Output Format
Testing for Supported Image Formats
Reading an Existing File
Basic Drawing Functions
Images with Text
Fonts
TrueType Fonts
Dynamically Generated Buttons
Caching the Dynamically Generated Buttons
A Faster Cache
Scaling Images
Color Handling
Using the Alpha Channel
Identifying Colors
True Color Indexes
Text Representation of an Image
What’s Next
11. PDF
PDF Extensions
Documents and Pages
A Simple Example
Initializing the Document
Outputting Basic Text Cells
Text
Coordinates
Text Attributes
Page Headers, Footers, and Class Extension
Images and Links
Tables and Data
What’s Next
12. XML
Lightning Guide to XML
Generating XML
Parsing XML
Element Handlers
Character Data Handler
Processing Instructions
Entity Handlers
Default Handler
Options
Using the Parser
Errors
Methods as Handlers
Sample Parsing Application
Parsing XML with the DOM
Parsing XML with SimpleXML
Transforming XML with XSLT
What’s Next
13. JSON
Using JSON
Serializing PHP Objects
Options
What’s Next
14. Security
Safeguards
Filtering Input
Escaping Output Data
Security Vulnerabilities
Cross-Site Scripting
SQL Injection
Filename Vulnerabilities
Session Fixation
File Upload Traps
Unauthorized File Access
PHP Code Issues
Shell Command Weaknesses
Data Encryption Concerns
Further Resources
Security Recap
What’s Next
15. Application Techniques
Code Libraries
Templating Systems
Handling Output
Output Buffering
Output Compression
Performance Tuning
Benchmarking
Profiling
Optimizing Execution Time
Optimizing Memory Requirements
Reverse Proxies and Replication
What’s Next
16. Web Services
REST Clients
Responses
Retrieving Resources
Updating Resources
Creating Resources
Deleting Resources
XML-RPC
Servers
Clients
What’s Next
17. Debugging PHP
The Development Environment
The Staging Environment
The Production Environment
php.ini Settings
Error Handling
Error Reporting
Exceptions
Error Suppression
Triggering Errors
Defining Error Handlers
Manual Debugging
Error Logs
IDE Debugging
Additional Debugging Techniques
What’s Next
18. PHP on Disparate Platforms
Writing Portable Code for Windows and Unix
Determining the Platform
Handling Paths Across Platforms
Navigating the Server Environment
Sending Mail
End-of-Line Handling
End-of-File Handling
Using External Commands
Accessing Platform-Specific Extensions
Interfacing with COM
Background
PHP Functions
API Specifications
Function Reference
PHP Functions by Category
Arrays
Classes and Objects
Data Filtering
Date and Time
Directories
Errors and Logging
Filesystem
Functions
Mail
Math
Miscellaneous Functions
Network
Output Buffering
PHP Language Tokenizer
PHP Options/Info
Program Execution
Session Handling
Streams
Strings
URLs
Variables
Zlib
Alphabetical Listing of PHP Functions
Index
← Prev
Back
Next →
← Prev
Back
Next →