Product Overview

Hooray! A new and improved edition on this book is now available!

The PHP Anthology: Object Oriented PHP Solutions was a fine book but we replaced it with a new and updated edition in November 2007.

However, if you do happen to own a copy of 'The PHP Anthology: Object Oriented PHP Solutions' you may still be interested in:

The PHP Anthology: Object Oriented PHP Solutions

Index Listing

This index covers both volumes of The PHP Anthology. Page references in another volume are prefixed with the volume number and appear in italics (e.g. II- 123 refers to page 123 of Volume II).

  1. Symbols
    • $_FILES array, 280
    • $GLOBALS array, II-91
    • $this variable, 31, 37, II-97
    • % (wildcard character), 95
    • & (reference) operator, 42, 69, II-124
    • (see also references)
    • -> (arrow) operator, 32
    • .= (string append) operator, II-309
    • .forward files, 248
    • .htaccess files, 16, 18, 20, 118, 128, 204,
    • 311, 322, II-72, II-81, II-229
    • :: operator, 29
    • = (assignment) operator, II-309
    • @ (error suppression) operator, 163, 322,
    • @ doc tags, II-285, II-293
    • __clone method, 48
  1. -
    • abstract classes, 60, II-84
    • acceptance testing, II-298
    • access control, II-1, II-13, II-21
    • (see also methods, access control)
    • (see also permissions)
    • security concerns, II-1, II-24
    • adjacency list model, 288
    • aggregation, 56, 59
    • aliases (see SELECT queries, aliases)
    • allow_call_time_pass_reference directive, 20, 47
    • alpha blending, 223
    • alternative content types, II-169
    • Apache, 308, 310
    • API documentation, II-xIIi, II-283
    • generating, II-291
    • reading, II-287
    • apostrophes
    • escaping (see magic quotes)
    • in SQL statements (see quotes in SQL statements)
    • application programming interfaces (APIs), 25, 35, 78
    • Application Programming Interfaces (APIs) (see also API documentation)
    • applications, 314
    • archives (see compressed files)
    • arguments, 5
    • array pointers, II-324
    • arrays, 256
    • converting to strings, 151
    • creating from strings, 150
    • strings as, 152
    • ASP tags (<% %>), 18
    • asp_tags directive, 18
    • authentication (see access control)
    • authentication headers (see HTTP authentication)
    • auto log ins, II-232
    • auto sign ups
    • protecting against, II-37
    • auto_append_file directive, 204
    • AUTO_INCREMENT columns, 94
    • auto_prepend_file directive, 203, 204, II-72, II-260
    • automated testing (see unit testing)
    • AWStats, II-225
  2. -
    • backing up MySQL databases, 98
    • BACKUP TABLE queries, 101, 102
    • bad word filters (see censoring bad words)
    • bar graphs (see graphs, bar graphs)
    • base64 encoding, II-6
    • BBCode, 153
    • binary files
    • reading in Windows, 116
    • bitwise operators, 321
    • black box testing, II-299
    • bread crumb (see crumb trail navigation)
    • buffered queries (see unbuffered queries)
    • buffering (see output buffering)
    • bzip2, 100
  3. -
    • caching, 202, 293, II-156, II-175, II-241
    • (see also template caching)
    • chunked, II-248, II-255
    • client side, II-242, II-262
    • downloads, II-244
    • function calls, II-260
    • preventing, II-243
    • security concerns, II-256
    • server side, II-242, II-247, II-254
    • Web services, II-260
    • calendars, 190
    • daily schedule, 198
    • days in a month, 195
    • months in a year, 194
    • call-time pass-by-references, 20, 47
    • callback functions, 326, II-87, II-90, II-93
    • cascading constructors, 52
    • censoring bad words, 157
    • charts (see graphs)
    • CHECK TABLE queries, 103
    • child classes, 48
    • chunked buffering (see output buffering,chunked)
    • class declarations, 28
    • class scope (see scope)
    • classes, 25, 26, 29, 154
    • (see also output in classes)
    • click path analysis, II-223, II-225, II-238
    • code archive, xII, II-xv
    • code optimization
    • lazy includes, II-275
    • quotes, II-276
    • references, II-276
    • SQL queries, II-275
    • collections, II-323
    • composition, 58, 59, II-158
    • compressed files
    • (see also PEAR, PEAR::Archive_Tar)
    • creating, 138
    • extracting, 139
    • concrete classes, 60
    • conditional GET, II-264
    • configuration information
    • methods for storing, 17
    • storing in files, 127
    • constants, II-13, II-228
    • constructors, 31
    • not cascaded in PHP, 52
    • context menus, 292, 297
    • cookies, II-8, II-214, II-232
    • vs. sessions, II-232
    • corrupt databases (see repairing corrupt
    • MySQL databases)
    • COUNT (see MySQL functions, COUNT)
    • cron, 205, 206
    • (see also crontab)
    • (see also pseudo-cron)
    • crontab, 101
    • cross-site scripting (XSS) attacks, 148, 163, II-10
    • crumb trail navigation, 53, 288, 293
    • custom error handlers (see errors, handling)
    • custom error pages, 333
    • custom session handlers, II-10
    • custom tags (see BBCode)
  4. -
    • Data Access Objects (DAO), 104
    • database indexes, 96
    • database persistence layers (see persistence layers)
    • databases, 65, 216
    • (see also MySQL)
    • backing up (see backing up MySQL databases)
    • storing dates in, 172
    • dates
    • day of the week, 182
    • day of the year, 186
    • days in month, 183
    • first day in the month, 187
    • leap years, 185
    • number suffix, 188
    • storing in MySQL, 172
    • week of the year, 183
    • dates and times
    • in HTTP, II-264
    • DELETE queries
    • counting rows affected, 93
    • derived data, II-226
    • design patterns, 21, II-xIIi, II-311
    • adapter pattern, II-190, II-342
    • factory method, II-313
    • iterator pattern, II-323, II-333 (see also iterators)
    • observer pattern, II-25, II-347
    • strategy pattern, II-334
    • development techniques, II-xIIi
    • directories
    • reading, 123
    • dispatch maps, II-160
    • doc tags (see @ doc tags)
    • DocBlocks, II-294
    • Document Object Model (DOM),
    • II-80, II-102, II-110, II-112, II-114
    • (see also XPath)
    • DOM (see Document Object Model (DOM))
    • DOM inspector, II-79
    • downloads (see files, downloads)
    • drop-down menus, 299
  5. -
    • echo statements, II-201, II-245, II-246
    • Eclipse PHP library, II-290, II-334
    • ECMAScript (see JavaScript)
    • email, 237, II-29
    • attachments, 239
    • complex messages, 238
    • embedded images, 240, 243
    • HTML, 243
    • mailing lists, 251
    • multipart, 245
    • multiple recipients, 245
    • PHP setup, 237
    • receiving, 247
    • email addresses
    • temporary, II-25
    • encapsulation, II-286
    • encryption, 275, II-46, II-51
    • (see also MD5 digests)
    • enctype attribute, 280
    • enterprise application architecture, 21
    • entity references (see XML entity references)
    • environment errors, 10, 319
    • error reporting levels, 321, 322 (see also errors, levels)
    • error_reporting directive, 321, 322 (see also error reporting levels)
    • errors, 320, 324, 325
    • (see also environment errors) 365
    • (see also logic errors)
    • (see also semantic errors)
    • (see also syntax errors)
    • displaying, 333
    • generating, 324, 325
    • handling, 11, 320, 326, 329, 331, II-31, II-139
    • in PHP 5, 320
    • levels, 320, 324 (see also notices) (see also warnings)
    • logging, 331
    • suppressing, 322
    • (see also @ (error suppression) operator)
    • types of, 8, 319
    • escape characters, 19, 84
    • (see also magic quotes)
    • event handlers, II-80, II-87
    • exception handling, 331
    • (see also try-catch statements)
    • execution time limits, 132, II-195
    • (see also PHP functions, set_time_limit)
    • exit statements, II-20
    • extends keyword, 49
    • Extensible Markup Language (see XML)
    • extensions (see PHP extensions)
    • Extreme Programming, 11, II-298
    • eXtremePHP, II-334
  6. -
    • fatal errors (see errors)
    • fields (see member variables)
    • file handles, 116
    • file pointers (see file handles)
    • File Transfer Protocol (FTP), 131
    • (see also PEAR, PEAR::NET_FTP)
    • security concerns, 131
    • files, 111 (see also compressed files) (see also directories)
    • accessing remotely, 129, 130
    • appending to, 119
    • as a database replacement, 118
    • downloads, 135
    • caching issues, II-244
    • security concerns, 136
    • getting information about, 121
    • permissions, 120, II-10
    • security concerns, 120
    • reading, 112, 116, 117
    • security concerns, 111
    • transferring (see File Transfer Protocol (FTP))
    • uploads, 280
    • (see also maximum upload size)
    • displaying, 286
    • security concerns, 283
    • with QuickForm, 283
    • writing, 119
    • folders (see directories)
    • fonts
    • .afm, II-175
    • in PDF documents, II-175
    • using in dynamic images, 224, II-41
    • for statements, 263, II-274
    • ForceType directive, 310
    • foreach statements, 10, 107, 247, II-88, II-125, II-129, II-324
    • forgotten passwords (see passwords, retrieving)
    • form field values, 145
    • escaping (see special characters)
    • formatting values for output, 152
    • forms, 268
    • generating with QuickForm, 269
    • guidelines, 269
    • security concerns, 269
    • validating (see validating submitted data) 366
    • FPDF, II-170, II-190
    • FTP (see File Transfer Protocol (FTP))
    • FULLTEXT searches, 96, II-280
    • function reference, 4
    • function scope (see scope)
    • functions (see also arguments) (see also PHP functions) (see also return values)
    • signatures, 5, II-286
  7. -
    • GD image library, 209, 225
    • GET (see HTTP request methods)
    • GIF files
    • patent issues, 210
    • global keyword, 275
    • global scope (see scope)
    • global variables (see superglobal variables)
    • graphs, 225
    • bar graphs, 226
    • pie charts, 228
    • gray box testing, II-299
    • groups (see user groups)
    • gzip, 100
    • GZIP files (see compressed files)
  8. -
    • HAWHAW, II-208, II-289
    • HDML, II-208
    • heredoc syntax, 27
    • hierarchical data, 288, 289
    • hierarchical menus (see tree menus)
    • HTML
    • converting to PDF, II-177
    • in email (see email, HTML)
    • parsing, II-81, II-177
    • HTML tags
    • replacing with BBCode, 153
    • stripping out of text, 147, 163
    • HTML2FO, II-200
    • HTTP authentication, II-3, II-5, II-6
    • HTTP headers, 135, 288, II-175, II-215,
    • II-242, II-243, II-262
    • and output buffering, II-246
    • authorization, II-6
    • cache-control, II-243, II-263
    • content-disposition, 136, II-244
    • content-length, 136
    • content-type, 136, 210, 217, II-120, II-201
    • etag, II-263
    • expires, II-243, II-263, II-264
    • if-modified-since, II-263, II-264, II-266
    • last-modified, II-175, II-244, II-263, II-264, II-266
    • location, II-20, II-234
    • pragma, II-243
    • referrer, II-10
    • when to send, II-7
    • www-authenticate, II-5
    • HTTP request headers, II-4
    • HTTP request methods, 268, II-163
    • HTTP response headers, II-4, II-9
    • httpd.conf, 312
    • hyperlink URLs
    • URL encoding, 143
  9. -
    • if-else statements, 9, 68, 277, II-132,
    • II-148, II-195, II-271, II-282, II-334
    • ignore_repeated_errors directive, 333, 333
    • images
    • getting dimensions of, 212
    • getting type of, 214
    • overlaying with text, 224, II-40
    • palette-based, 213
    • preventing “hot linking”, 230
    • resampling, 213
    • resizing, 213
    • scaling proportionally, 214, 367
    • true color, 213
    • watermarking, 223
    • include, 12, 15, 69 (see also require)
    • include files (see includes)
    • include_once, 12, 14
    • (see also require_once)
    • include_path directive, 16, II-171
    • includes, 12, 15, 127
    • (see also code optimization, lazy includes) (see also include_path directive)
    • across directories, 15
    • incoming mail (see email, receiving)
    • indexes (see database indexes)
    • inheritance, 48, 52, 190, 264, II-84
    • deep structures, 55
    • ini files (see configuration information, storing in files)
    • INSERT queries, 80, 81, 96
    • counting rows affected, 93
    • retrieving new row ID, 94
    • instances (see instantiation)
    • instantiation, 30
    • interfaces, 60, II-353
    • (see also application programming
    • interfaces (APIs))
    • IP addresses, II-24, II-224, II-232
    • iterators, 296, II-98, II-108, II-183, II-323, II-338
  10. -
    • JavaScript, II-10
    • form validation with, 269, 270, 271
    • interaction with SVG, II-203
    • JpGraph library, 225
  11. -
  12. -
    • language filters (see censoring bad words)
    • layered application design (see N-Tier design)
    • lazy fetching, II-69
    • LIKE operator, 95
    • LIMIT clauses, 89, 91, 259, II-280
    • line breaks
    • preserving in HTML, 146
    • link identifiers, 68
    • link URLs (see URL encoding)
    • LiveHttpHeaders, II-262
    • logging errors (see errors, logging)
    • logic errors, 11, 319
    • lookup tables, II-61
  13. -
    • magic quotes, 19, 84, 269, II-17, II-31 (see also quotes in SQL statements)
    • magic_quotes_gpc directive, 19, 84, 85, II-17
    • (see also magic quotes)
    • mailing lists (see email, mailing lists)
    • maximum upload size, 280
    • MD5 digests, II-16
    • member functions (see methods)
    • member variables, 31
    • access control, II-286
    • meta tags, II-242, II-243
    • expires, II-243
    • pragma, II-243
    • problems with, II-243
    • methods, 28 (see also static methods)
    • access control, II-286
    • accessing member variables, 32
    • calling other methods, 37
    • signatures, II-286
    • MIME (see Multipurpose Internet Mail
    • Extensions (MIME))
    • MML, II-208
    • mock objects, II-306
    • mod_rewrite, 231, 312, 314
    • Mozilla, II-79, II-215
    • Multipurpose Internet Mail Extensions (MIME), 210
    • MIME types, 211, 215, 216, 239, 284 (see application/vnd.mozilla.xul+xml)
    • image/bmp, 211
    • image/gif, 211
    • image/jpeg, 211
    • image/png, 211
    • image/xml+svg, 211
    • text/html, 211
    • myisamchk, 103
    • MySQL, 17, 24, 66, 66, 78, 290, II-2,
    • II-254, II-279, II-343
    • (see also unbuffered queries)
    • backing up (see backing up MySQL databases)
    • connecting to, 67, 69
    • displaying data from, 255
    • fetching data from, 73, 75
    • inserting rows of data, 80
    • storing dates in, 172
    • updating rows of data, 80
    • MySQL column types
    • DATE, 174
    • DATETIME, 174
    • TIME, 174
    • MySQL functions
    • COUNT, 90, 260
    • DATE_FORMAT, 178
    • UTC_TIMESTAMP, 178
    • MySQL manual, 103
    • MySQL timestamps, 174, 177
    • mysqldump, 98, 100, 101
  14. -
    • N-Tier design, II-xIIi, II-200, II-277
    • namespaces (see XML namespaces)
    • navigation systems, 288
    • nested buffers (see output buffering, nested)
    • nested sets, 288
    • new keyword, 33
    • new lines (see line breaks)
    • notices, 321, 323, 324, 325
    • number suffixes, 188
    • NuSOAP, II-157
  15. -
    • object oriented programming, x, 21, 23, II-311
    • basics, 26
    • Object Oriented Programming
    • performance concerns, II-271
    • objects, 25, 29
    • interaction, 56
    • optimizing code, II-269
    • for loops, II-274
    • most probable first, II-271
    • ORDER BY clauses, 256
    • output buffering, 333, II-245, II-247
    • chunked, II-248 (see also caching, chunked)
    • nested, II-254
    • output in classes, 33
    • overriding, 50
    • calling overridden methods, 51
  16. -
    • packet sniffers, II-1
    • paged results, 259
    • parameters (see arguments)
    • parent classes, 49
    • calling methods of, 51
    • parent keyword, 51
    • parse errors, 9
    • passing by reference, 42
    • (see also references)
    • passing by value, 42
    • passwords
    • changing, II-55
    • generating, II-51
    • retrieving, II-46
    • pausing script execution, 247, II-24
    • PDF (see Portable Document Format (PDF))
    • PEAR, ix, 16, 23, 253
    • (see also phpOpenTracker)
    • Auth_HTTP, II-8
    • PEAR::Archive_Tar, 138
    • PEAR::Cache, II-261
    • PEAR::Cache_Lite, II-156, II-254,
    • II-257, II-259, II-260, II-264
    • PEAR::DB, 89, 105, II-262, II-280, II-343
    • PEAR::DB_DataObject, 89, 104
    • PEAR::Error, 331
    • PEAR::File, 118, 119
    • PEAR::HTML_QuickForm, 241, 269,
    • II-22, II-26, II-31, II-37, II-48, II-55, II-218
    • PEAR::HTML_Table, 201, 255
    • PEAR::HTML_TreeMenu, 304
    • PEAR::Image_GraphViz, II-238
    • PEAR::Log, 333
    • PEAR::Mail_Mime, 247, 249
    • PEAR::mailparse, 249
    • PEAR::NET_FTP, 133
    • PEAR::Pager_Sliding, 263
    • PEAR::PHPUnit, II-301
    • PEAR::SOAP, II-152, II-157, II-160
    • PEAR::Tree, 288
    • PEAR::Validate, 159, 163, 167
    • PEAR::XML_fo2pdf, II-200
    • PEAR::XML_HTMLSax, 149, II-81,
    • II-177, II-187, II-191
    • PEAR::XML_SaxFilters, II-102
    • PEAR::XML_Tree, II-238
    • PEAR::DB, II-319
    • performance
    • measuring, 204
    • permissions, II-61 (see also files, permissions)
    • perror, 103
    • persistence layers, 89, 104, 104
    • PHP
    • language features, 4
    • language fundamentals, 3
    • mailing lists, 7
    • related Websites, 7
    • usage statistics, 2
    • PHP Classes, 23, 154, II-342
    • PHP extensions, 4
    • ClibPDF, II-170
    • DOM XML, II-82, II-83, II-102, II-112
    • IMAP, 247
    • Java, II-200
    • Mailparse, 247
    • Msession, II-262, II-280
    • PDFlib, II-170
    • Xdebug, II-270, II-277
    • XML, II-82, II-87
    • XML-RPC, II-142
    • XSLT, II-82, II-135
    • PHP function
    • mysql_num_fields, 90
    • PHP functions
    • addslashes, 85, 85, II-144
    • apache_request_headers, II-262
    • apache_response_headers, II-262
    • array_map, 19
    • base64_encode, II-235
    • checkdnsrr, 161
    • clearstatcache, 123
    • closedir, 123
    • count, II-274
    • date, 122, 176, 182, 185, 186, 188, 194, 202,
    • 203, II-250, II-264
    • define, II-13
    • die function, 68
    • dir, 124, 220, II-83, II-331
    • domxml_new_doc, II-102
    • domxml_open_file, II-102
    • domxml_open_mem, II-102
    • each, II-273, II-325
    • error_log, 331
    • error_reporting, 321, II-102, II-171
    • eval, II-153
    • explode, 150
    • fclose, 123
    • feof, 117
    • fgets, 117
    • fgetss, 118
    • file, 112, 117, II-87
    • file_exists, 121
    • file_get_contents, 113, 116, 117, 284
    • fileatime, 122
    • filemtime, 122
    • filesize, 117, 121, 129
    • flush, II-227
    • fopen, 116, 119, 123, 130
    • fread, 116, 117, 123
    • fscanf, 118
    • fsockopen, 130, II-87
    • ftp_chdir, 133
    • ftp_connect, 132
    • ftp_login, 132
    • ftp_nlist, 133
    • ftp_pwd, 133
    • get_magic_quotes_gpc, 19, 85
    • getallheaders, II-262, II-266
    • gethostbyaddr, II-223
    • getimagesize, 212, 213, 233
    • gmdate, II-264
    • header, 211, 288, II-7, II-243, II-246
    • highlight_file, 125
    • highlight_string, 125
    • htmlspecialchars, 145, 156, 269
    • imagecolorallocate, 224
    • imagecopy, 224
    • imagecopyresampled, 213
    • imagecopyresized, 213
    • imagecreatefromjpeg, 212
    • imagecreatetruecolor, 212, 213
    • imagefontload, 224
    • imagejpeg, 213, II-43
    • imageloadfont, II-41
    • imagestring, 224, II-41
    • implode, 151
    • ini_set, 16, II-72
    • is_dir, 122
    • is_file, 122
    • is_readable, 122
    • is_string, II-304
    • is_uploaded_file, 283
    • is_writable, 122
    • mail, 237, 238, II-287
    • md5, II-16, II-51, II-258
    • microtime, 204
    • mktime, 176, 176
    • mysql_affected_rows, 93
    • mysql_close, 68
    • mysql_connect, 24, 68, 323
    • mysql_error, 78
    • mysql_escape_string, 85, II-17
    • mysql_fetch_array, 24, 73, 74, 75
    • mysql_fetch_object, 75
    • mysql_insert_id, 94
    • mysql_num_rows, 89, 93
    • with unbuffered queries, 75
    • mysql_query, 24, 73, 74, 80, 86
    • mysql_real_escape_string, 85
    • mysql_result, 75
    • mysql_select_db, 24, 68
    • mysql_unbuffered_query, 75
    • nl2br, 146
    • ob_clean, II-250
    • ob_end_clean, II-246, II-254
    • ob_end_flush, II-246, II-248, II-254
    • ob_get_contents, II-246, II-250
    • ob_start, II-246, II-254
    • opendir, 123
    • parse_ini_file, 17, 107, 128
    • preg_quote, 158
    • print_r, 249, 281
    • printf, 118, 152
    • pspell_suggest, II-54
    • putenv, 203
    • and IIS, 203
    • rawurldecode, 144
    • rawurlencode, 144
    • readdir, 123
    • readfile, 115, 117, II-227
    • session_register, II-11
    • session_start, II-7, II-9, II-11,
    • II-246
    • session_unregister, II-11
    • set_cookie, II-246
    • set_error_handler, 326, 328
    • set_time_limit, 132, 207, 247
    • sleep, 247, II-24
    • sprintf, 152
    • str_replace, 150
    • strip_tags, 118, 147, 153, 156, 163, 167,
    • II-210
    • stripslashes, 19, 84
    • strpos, 5, 149
    • strtotime, II-266
    • substr, 149
    • system, 98, 138
    • time, 176, 202, 203
    • trigger_error, 79, 320, 324, 325, II-97
    • trim, 151
    • urldecode, 144
    • urlencode, 144
    • warning, 324
    • wordwrap, 149
    • xml_parse_into_struct, II-87, II-88
    • xml_parser_create, II-87
    • xml_parser_free, II-88
    • xml_parser_set_option, II-87
    • xml_set_character_data_handler, II-93
    • xml_set_element_handler, II-93
    • xml_set_object, II-97, II-101
    • xslt_create, II-137
    • xslt_errno, II-137
    • xslt_error, II-137
    • xslt_process, II-137
    • PHP license, 154
    • PHP manual, 2
    • searching, 4
    • short cuts, 5
    • PHP source code
    • displaying online, 125
    • security concerns, 125
    • php.ini, 3, 11, 16, 18, 20, 47, 84, 105,
    • 125,128,203,204,205,226,237,280,321,322,
    • II-72, II-81, II-82, II-260, II-270
    • PHPDoc, II-284
    • PHPDocumentor, 159
    • phpDocumentor, II-293
    • PHPMailer, 238, 243, 245, II-26, II-48, II-287
    • phpOpenTracker, II-221, II-227, II-234, II-238
    • API, II-231
    • installation, II-228
    • search engine plug-in, II-236
    • PHPSESSID variable, II-214
    • phpSniff, II-222
    • PhpUnit, II-300
    • pie charts (see graphs, pie charts)
    • PNG (see Portable Network Graphics (PNG))
    • points, II-172
    • polymorphism, 35, 60, 63
    • Portable Document Format (PDF), II-169
    • from HTML, II-177
    • generating, II-176, II-196
    • page origin, II-173
    • rendering, II-169
    • Portable Network Graphics (PNG), 210
    • portable PHP code, 16
    • POST (see HTTP request methods)
    • post_max_size directive, 280
    • PostgreSQL, 66, 78, II-343
    • print statements, II-245
    • private methods, 39
    • procedural programming, 23
    • processing instructions (see XML processing instructions)
    • proxy servers, II-224
    • pseudo-cron, 205 (see also cron)
    • public methods, 39
  17. -
    • QuickForm (see PEAR,
    • PEAR::HTML_QuickForm)
    • quotes (see code optimization, quotes)
    • quotes in SQL statements, 83, 84
  18. -
    • R&OS PDF, II-170
    • raw data, II-226
    • RDF (see RSS)
    • realms, II-6
    • redirection, II-20 (see also HTTP headers, location)
    • refactoring, 28
    • reference counting, 48
    • references, 20, 39, 45, II-276 (see also call-time pass-by-references) (see also passing by reference)
    • improving performance with, 47
    • in PHP 5, 48
    • returning from functions/methods, 46
    • to new objects, 46
    • register_globals directive, 18, II-11, II-18
    • registering users (see user registration systems)
    • regular expressions, 153, 158, II-44, II-340
    • REPAIR TABLE queries, 103
    • repairing corrupt MySQL databases, 103
    • require, 12 (see also include)
    • require_once, 12, 14, 17, II-276, II-283 (see also include_once)
    • reserved characters, 144
    • resource identifiers, 74
    • RESTORE TABLE queries, 101
    • result pagers (see paged results)
    • return commands
    • in constructors, 31
    • return values, 5
    • for constructors, 31
    • reusable code, 20, 23
    • rich clients, II-215
    • RLIKE operator, 96
    • robots (see visitor statistics, excluding search engines)
    • RSS, II-79, II-85, II-102
    • aggregation, II-122
    • generating, II-114
    • validation, II-122
    • RTFM, 2 (see also PHP manual)
  19. -
    • SAX (see Simple API for XML (SAX))
    • Scalable Vector Graphics (SVG), II-169, II-200
    • rendering with PHP, II-205
    • scope, 34
    • script execution time (see timing PHP scripts)
    • search engine friendly URLs, 307
    • search engine queries, II-236
    • searching and replacing text in strings, 149
    • searching MySQL databases, 95
    • (see also FULLTEXT searches)
    • Secure Socket Layer (SSL), II-1
    • security, 3
    • SELECT queries, 80
    • aliases, 91, II-62
    • counting rows returned, 89, 92
    • with MySQL, 90
    • with PHP, 89
    • optimizing, II-275
    • searching with, 95
    • sorting results, 256
    • semantic errors, 10, 319
    • sendmail, 237
    • session variables, II-45
    • session.save_path directive, II-10, II-72
    • sessions, 231, II-8, II-11, II-12, II-55,
    • II-154, II-214
    • (see also custom session handlers)
    • (see also tracking online users)
    • on multiple servers, II-280
    • security concerns, II-9, II-57
    • storing in MySQL, II-71, II-73
    • vs. cookies, II-232
    • short tags (<? ?>), 18, II-81
    • short_open_tag directive, 18, 205, II-81
    • SHOW TABLES queries, 101
    • Simple API for XML (SAX), 163, II-80,
    • II-82, II-87, II-88, II-110, II-177
    • Simple Mail Transfer Protocol (SMTP), 237
    • Simple Object Access Protocol (see SOAP)
    • SimpleTest, II-301
    • sliding page numbers, 263
    • SMTP (see Simple Mail Transfer Protocol (SMTP))
    • SOAP, II-xIIi, II-141, II-150, II-226 (see also WSDL) (see also XML-RPC)
    • building a client, II-152, II-164
    • building a server, II-157
    • vs. XML-RPC, II-142
    • source code (see PHP source code)
    • special characters, 145, 145, 156 (see also reserved characters) (see also unsafe characters)
    • spiders (see visitor statistics, excluding search engines)
    • SQL injection attackes, 275
    • SQL injection attacks, 19, 20, 81, 86, II-144
    • standalone PHP scripts, 249
    • standard input, 249
    • static methods, 29, 159
    • statistics (see visitor statistics)
    • stdClass, II-100
    • string functions, 149 (see also PHP functions)
    • strings
    • converting to arrays, 150
    • creating from arrays, 151
    • treating as arrays, 152
    • trimming whitespace, 151
    • writing formatted values to, 152
    • Structured Query Language (SQL), 73, II-134
    • (see also DELETE queries)
    • (see also INSERT queries)
    • (see also quotes in SQL statements)
    • (see also SELECT queries)
    • (see also UPDATE queries)
    • (see also variables, in SQL queries)
    • generating automatically, 104
    • generating from XML, II-138
    • resolving problems with, 78
    • subclasses (see child classes)
    • superclasses (see parent classes)
    • superglobal variables, 18
    • SVG (see Scalable Vector Graphics (SVG))
    • switch statements, 88, 256, 327, II-58, II-60, II-89, II-130, II-322, II-334
    • syntax errors, 9, 319
    • syntax highlighting (see PHP source
    • code, displaying online)
    • system integration testing, II-298
  20. -
    • table relationships, 66, 94
    • tables
    • alternating row colors, 257
    • generating with PHP, 255
    • TAR files (see compressed files)
    • template caching, II-245
    • text content
    • in HTML documents, 143
    • thumbnail images
    • creating, 211, 214
    • time limits (see execution time limits)
    • time zones, 202
    • timestamps, 172 (see also MySQL timestamps) (see also Unix timestamps)
    • timing PHP scripts, 204
    • tokenizer extension, 9
    • tokens, 9
    • tracking online users, II-73
    • tree menus, 289, 301, 303
    • try-catch statements, 320
  21. -
    • unbuffered queries, 74, 89
    • Unified Modelling Language (UML), 26, 38, 57, 59, 63, 190, II-84, II-318, II-322, II-340, II-351
    • generating code from, II-293
    • unit testing, 11, II-xIIi, II-298, II-300
    • Unix timestamps, 173, 175, II-186
    • generating, 176
    • storing in MySQL, 174
    • unsafe characters, 144
    • UPDATE queries, 80, 81
    • counting rows affected, 93
    • importance of WHERE clause, 81
    • upload_max_filesize directive, 280
    • URL encoding, 144
    • URL rewriting (see mod_rewrite)
    • URLs (see search engine friendly URLs)
    • designing, 314
    • user agent string, II-223
    • user groups, II-61
    • user registration systems, II-25, II-37
  22. -
    • validating submitted data, 159, II-335
    • with QuickForm, 270, 272, 274
    • var command, 31
    • variable functions, 62
    • variables, 40
    • (see also passing by value)
    • (see also passing by reference)
    • formatting for output, 152
    • in SQL queries, 87
    • nonexistent, 163
    • session variables, 231
    • views, 315
    • visitor statistics
    • excluding search engines, II-237
    • exit links, II-234
    • gathering, II-225
    • logging, II-226
    • reports, II-238
    • returning visitors, II-232
    • search engine queries, II-236
  23. -
    • WAP (see Wireless Application Protocol
    • (WAP))
    • warnings, 320, 324, 325
    • watermarks, 223
    • Web bug, II-230
    • Web services, II-xIIi, II-79, II-141, II-150, II-202
    • caching, II-260
    • consuming, II-150
    • deploying, II-150
    • security concerns, II-165
    • Web Services Description Language (see WSDL)
    • Webalizer, II-238
    • WHERE clauses, 89, 91, II-275
    • while statements, 9, 74, 117, 193, 257,
    • II-212, II-248, II-326, II-328
    • white box testing, II-299
    • whitespace
    • trimming, 151
    • Wireless Application Protocol (WAP), II-205
    • Wireless Markup Language (WML), II-135, II-169, II-205, II-279, II-289 (see also HAWHAW)
    • cards, II-206
    • generating, II-208
    • viewing with Opera, II-205
    • WML (see Wireless Markup Language (WML))
    • word wrap (see wrapping text)
    • wrapping text, 149
    • WSDL, II-142, II-150, II-157, II-160
    • editor, II-151
  24. -
    • Xdebug (see PHP extensions, Xdebug)
    • XML, 17, 18, 290, II-79, II-205, II-238 (see also XPath)(see also XSLT)
    • converting to SQL, II-138
    • generating, II-80, II-111, II-112
    • XML entity references, II-93
    • XML namespaces, II-81, II-127
    • default namespace, II-127
    • XML processing instructions, 18, II-81, II-93, II-201
    • XML Schema, II-81, II-142
    • XML User interface Language (XUL), II-169, II-215
    • XML-RPC, II-xIIi, II-141 (see also SOAP)
    • building a client, II-146
    • building a server, II-142
    • fault codes, II-144
    • vs. SOAP, II-142
    • XP (see Extreme Programming)
    • XPath, II-81, II-123, II-128, II-134, II-139
    • predicates, II-136
    • XQuery, II-134
    • XSL Formatting Objects (XSL-FO), II-200
    • XSLT, II-79, II-135, II-138
    • error handling, II-139
    • XSS (see cross-site scripting (XSS) attacks)
    • XUL (see XML User interface Language
    • (XUL))
  25. -
  26. -
    • ZIP files (see compressed files)

About SitePoint

SitePoint specializes in publishing fun, practical and easy-to-understand content for Web professionals. Visit SitePoint.com to access our books, newsletters, articles and community forums.

SitePoint Books

  • Advocate best practice techniques
  • Lead you through practical examples
  • Provide working code for your web site
  • Make learning easy and fun

100% Money Back Guarantee