序言 .............................................................................xxi
前言 ........................................................................... xxiii
第1 章 PHP 介紹 ........................................................... 1
PHP 可以做什麼 ....................................................................................................1
PHP 曆史簡述 ........................................................................................................2
PHP 的演變 .....................................................................................................2
PHP 的廣泛使用 ..............................................................................................7
安裝PHP ................................................................................................................7
PHP 的發展 ............................................................................................................8
配置頁 .............................................................................................................9
錶單 .................................................................................................................9
數據庫 ........................................................................................................... 11
圖像 ...............................................................................................................13
第2 章 語言基礎 .......................................................... 15
詞法結構 ..............................................................................................................15
大小寫 ...........................................................................................................15
語句和分號 ...................................................................................................15
空白符和換行 ................................................................................................16
注釋 ...............................................................................................................17
字麵量 ...........................................................................................................20
標識符 ...........................................................................................................20
關鍵字 ...........................................................................................................21
數據類型 ..............................................................................................................22
整型 ...............................................................................................................22
浮點數 ...........................................................................................................23
字符串 ...........................................................................................................24
布爾型 ...........................................................................................................25
數組 ...............................................................................................................26
對象 ...............................................................................................................27
資源 ...............................................................................................................28
迴調 ...............................................................................................................29
NULL ............................................................................................................29
變量 .....................................................................................................................29
變量的變量 ...................................................................................................30
變量的引用 ...................................................................................................30
變量的作用域 ................................................................................................31
垃圾收集 .......................................................................................................33
錶達式和操作符 ...................................................................................................35
操作符的數目 ................................................................................................36
操作符的優先級 ............................................................................................36
操作符的結閤性 ............................................................................................37
隱式轉換 .......................................................................................................37
算術操作符 ...................................................................................................38
字符串連接操作符 ........................................................................................39
自動遞增/自動遞減操作符 .........................................................................39
比較操作符 ...................................................................................................40
位操作符 .......................................................................................................41
邏輯操作符 ...................................................................................................43
類型轉換操作符 ............................................................................................43
賦值操作符 ...................................................................................................45
其他操作符 ...................................................................................................46
流程控製語句 ......................................................................................................47
if ....................................................................................................................47
switch ............................................................................................................50
while ..............................................................................................................51
for ..................................................................................................................54
foreach ...........................................................................................................55
try...catch .......................................................................................................56
declare ...........................................................................................................56
exit 和 return .................................................................................................57
goto ...............................................................................................................57
包含代碼 ..............................................................................................................58
在Web 頁麵中嵌套PHP ......................................................................................60
標準(XML)風格 .......................................................................................60
SGML 風格 ...................................................................................................62
ASP 風格 .......................................................................................................62
Script 風格 ....................................................................................................62
直接輸齣內容 ................................................................................................63
第3 章 函數 ................................................................ 65
調用函數 ..............................................................................................................65
定義函數 ..............................................................................................................66
變量作用域 ..........................................................................................................68
全局變量 .......................................................................................................69
靜態變量 .......................................................................................................70
函數參數 ..............................................................................................................70
按值傳遞參數 ................................................................................................70
按引用傳遞參數 ............................................................................................71
默認參數 .......................................................................................................71
可變參數 .......................................................................................................72
遺漏參數 .......................................................................................................73
類型提示 .......................................................................................................74
返迴值 ..................................................................................................................74
可變函數 ..............................................................................................................75
匿名函數 ..............................................................................................................76
第4 章 字符串 ............................................................. 79
引用字符串常量 ...................................................................................................79
變量插值 .......................................................................................................79
單引號括起來的字符串 .................................................................................80
雙引號括起來的字符串 .................................................................................80
here 文檔 .......................................................................................................81
輸齣字符串 ..........................................................................................................82
echo ...............................................................................................................83
print() ............................................................................................................83
printf() ...........................................................................................................83
print_r() 和var_dump() .................................................................................85
訪問單個字符 ......................................................................................................87
整理字符串 ..........................................................................................................87
刪除空白符號 ................................................................................................87
改變大小寫 ...................................................................................................88
編碼和轉義 ..........................................................................................................89
HTML ............................................................................................................89
URL ...............................................................................................................92
SQL ...............................................................................................................93
C 語言字符串編碼 .........................................................................................93
比較字符串 ..........................................................................................................94
精確比較 .......................................................................................................94
近似相等 .......................................................................................................96
處理和查找字符串 ...............................................................................................98
子串 ...............................................................................................................98
其他字符串函數 ............................................................................................99
分解字符串 ................................................................................................. 100
字符串查找函數 .......................................................................................... 102
正則錶達式 ........................................................................................................ 105
基礎 ............................................................................................................. 105
字符類 ......................................................................................................... 106
選擇性 ......................................................................................................... 107
重復序列 ..................................................................................................... 107
子模式 ......................................................................................................... 108
分隔符 ......................................................................................................... 108
匹配行為 ..................................................................................................... 109
字符類 ......................................................................................................... 109
錨 ................................................................................................................ 111
量詞和貪婪 ................................................................................................. 111
非捕獲組 ..................................................................................................... 112
逆嚮引用 ..................................................................................................... 112
後綴選項 ..................................................................................................... 112
內聯選項 ..................................................................................................... 114
前嚮和後嚮斷言 .......................................................................................... 114
剪切 ............................................................................................................. 115
條件錶達式 ................................................................................................. 116
正則錶達式的相關函數 ............................................................................... 116
和Perl 正則錶達式的差彆 ........................................................................... 122
第5 章 數組 .............................................................. 123
索引數組和關聯數組 ......................................................................................... 123
識彆數組元素 .................................................................................................... 124
在數組中存儲數據 ............................................................................................. 124
在數組末尾添加值 ...................................................................................... 126
指定值的範圍 .............................................................................................. 126
獲得數組大小 .............................................................................................. 126
填充數組 ..................................................................................................... 127
多維數組 ............................................................................................................ 127
析取多個值 ........................................................................................................ 128
切割數組 ..................................................................................................... 128
數組分塊 ..................................................................................................... 129
鍵(Key)和值(Value) ............................................................................. 130
檢查元素是否存在 ...................................................................................... 130
在數組中刪除和插入元素 ........................................................................... 131
數組和變量間的轉換 ......................................................................................... 132
從數組創建變量 .......................................................................................... 133
從變量創建數組 .......................................................................................... 133
遍曆數組 ............................................................................................................ 133
foreach 結構 ................................................................................................ 134
迭代器函數 ................................................................................................. 134
使用for 循環 ............................................................................................... 136
為數組中的每個元素調用函數 .................................................................... 136
數組歸納 ..................................................................................................... 137
查找元素值 ................................................................................................. 138
排序 ................................................................................................................... 139
一次排序一個數組 ...................................................................................... 140
按自然順序排序 .......................................................................................... 142
一次對多個數組進行排序 ........................................................................... 143
翻轉數組 ..................................................................................................... 143
隨機排序 ..................................................................................................... 144
作用於整個數組 ................................................................................................. 145
計算數組的和 .............................................................................................. 145
閤並兩個數組 .............................................................................................. 145
計算兩個數組的不同 ................................................................................... 146
從數組中過濾元素 ...................................................................................... 146
使用數組 ............................................................................................................ 147
集閤 ............................................................................................................. 147
堆棧 ............................................................................................................. 148
迭代器接口 ........................................................................................................ 149
第6 章 對象 .............................................................. 153
術語 ................................................................................................................... 154
創建一個對象 .................................................................................................... 154
訪問對象的屬性和方法 ...................................................................................... 155
聲明一個類 ........................................................................................................ 156
聲明方法 ..................................................................................................... 157
聲明屬性 ..................................................................................................... 159
聲明類常量 ................................................................................................. 161
繼承 ............................................................................................................. 162
接口 ............................................................................................................. 163
特徵 ............................................................................................................. 163
抽象類方法 ................................................................................................. 167
構造函數 ..................................................................................................... 168
析構函數 ..................................................................................................... 169
自省 ................................................................................................................... 170
類檢驗 ......................................................................................................... 170
對象檢驗 ..................................................................................................... 171
自省程序示例 .............................................................................................. 172
序列化 ................................................................................................................ 176
第7 章 Web 技術 ...................................................... 181
HTTP 基礎 ......................................................................................................... 181
變量 ................................................................................................................... 182
服務器信息 ........................................................................................................ 183
處理錶單 ............................................................................................................ 185
方法 ............................................................................................................. 185
參數 ............................................................................................................. 186
自處理頁麵 ................................................................................................. 187
粘性錶單 ..................................................................................................... 189
多值參數 ..................................................................................................... 190
粘性多值參數 .............................................................................................. 192
文件上傳 ..................................................................................................... 194
錶單驗證 ..................................................................................................... 195
設置響應頭 ........................................................................................................ 197
不同的內容類型 .......................................................................................... 198
重定嚮 ......................................................................................................... 198
過期 ............................................................................................................. 198
認證 ............................................................................................................. 199
維護狀態 ............................................................................................................ 200
cookie .......................................................................................................... 201
會話 ............................................................................................................. 204
結閤cookie 和會話 ..................................................................................... 207
SSL .................................................................................................................... 208
第8 章 數據庫 ........................................................... 209
使用PHP 訪問數據庫 ........................................................................................ 209
關係型數據庫和SQL ......................................................................................... 210
PHP 數據對象 ............................................................................................. 211
MySQLi 對象接口 .............................................................................................. 214
檢索數據顯示 .............................................................................................. 215
SQLite ................................................................................................................ 216
直接文件級彆操作 ............................................................................................. 220
MongoDB ........................................................................................................... 228
檢索數據 ..................................................................................................... 231
插入更復雜的數據 ...................................................................................... 231
第9 章 圖像 ............................................................. 235
在網頁中嵌入圖片 ............................................................................................. 235
基本圖像概念 .................................................................................................... 236
創建和繪製圖像 ................................................................................................. 237
圖像程序的結構 .......................................................................................... 238
變更輸齣格式 .............................................................................................. 239
圖片格式支持測試 ...................................................................................... 239
讀取已有的文件 .......................................................................................... 240
基本畫圖函數 .............................................................................................. 240
帶文本的圖像 .................................................................................................... 242
字體 ............................................................................................................. 243
TrueType 字體 ............................................................................................. 243
動態生成按鈕 .................................................................................................... 245
緩存動態生成的按鈕 ................................................................................... 246
更快的緩存 ................................................................................................. 247
圖片縮放 ............................................................................................................ 249
顔色處理 ............................................................................................................ 251
使用 alpha 通道 ........................................................................................... 252
顔色識彆 ..................................................................................................... 253
真彩色索引 ................................................................................................. 254
圖像的文本形式 .......................................................................................... 255
第10 章 PDF ............................................................ 257
PDF 擴展 ........................................................................................................... 257
文檔和頁麵 ........................................................................................................ 257
簡單的示例 ................................................................................................. 258
初始化文檔 ................................................................................................. 259
輸齣文本單元格 .......................................................................................... 259
文本 ................................................................................................................... 259
坐標 ............................................................................................................. 259
文本屬性 ..................................................................................................... 262
頁眉、頁腳和類擴展 ................................................................................... 264
圖片和鏈接 ................................................................................................. 266
錶格和數據 ................................................................................................. 269
第11 章 XML ............................................................ 273
XML 快速入門 ................................................................................................... 273
生成 XML .......................................................................................................... 275
解析 XML .......................................................................................................... 277
元素處理器 ................................................................................................. 277
字符數據處理器 .......................................................................................... 278
處理指令 ..................................................................................................... 279
實體處理器 ................................................................................................. 279
默認處理器 ................................................................................................. 281
選項 ............................................................................................................. 282
使用解析器 ................................................................................................. 282
錯誤 ............................................................................................................. 284
方法作為處理器 .......................................................................................... 285
示例解析程序 .............................................................................................. 285
用DOM 解析 XML ............................................................................................ 290
用SimpleXML 解析 XML ................................................................................. 291
用 XSLT 轉換 XML ........................................................................................... 292
第12 章 安全 ............................................................ 295
過濾輸入 ............................................................................................................ 295
跨站腳本 ............................................................................................................ 297
SQL 注入 ..................................................................................................... 298
轉義輸齣 ............................................................................................................ 299
文件名 ......................................................................................................... 304
會話固定 ............................................................................................................ 306
文件上傳 ............................................................................................................ 306
不要相信瀏覽器提供的文件名 .................................................................... 306
提防文件係統填充 ...................................................................................... 307
尚存的 register_globals ............................................................................... 307
文件訪問 ............................................................................................................ 308
限製文件係統訪問特定目錄 ....................................................................... 308
第一次就做對 .............................................................................................. 309
不要使用文件 .............................................................................................. 309
會話文件 ..................................................................................................... 309
隱藏 PHP 庫 ................................................................................................ 310
PHP 代碼 ............................................................................................................ 310
命令行腳本 ........................................................................................................ 312
更多信息 ............................................................................................................ 312
安全概要重述 .................................................................................................... 313
第13 章 應用技術 ...................................................... 315
代碼庫 ................................................................................................................ 315
模闆係統 ............................................................................................................ 316
處理輸齣 ............................................................................................................ 319
輸齣緩衝 ..................................................................................................... 319
壓縮輸齣 ..................................................................................................... 321
錯誤處理 ............................................................................................................ 321
錯誤報告 ..................................................................................................... 321
錯誤抑製 ..................................................................................................... 323
觸發錯誤 ..................................................................................................... 323
定義錯誤處理器 .......................................................................................... 324
性能調優 ............................................................................................................ 327
基準測試 ..................................................................................................... 328
分析 ............................................................................................................. 329
優化執行時間 .............................................................................................. 331
優化內存占用 .............................................................................................. 331
反嚮代理和復製 .......................................................................................... 331
第14 章 不同平颱的PHP .......................................... 335
為Windows 和UNIX 寫可移植的代碼 .............................................................. 335
確定平颱 ..................................................................................................... 336
跨平颱處理路徑 .......................................................................................... 336
服務器環境 ................................................................................................. 336
發送郵件 ..................................................................................................... 337
行尾處理 ..................................................................................................... 337
文件尾部處理 .............................................................................................. 338
外部命令 ..................................................................................................... 338
常見的特定平颱擴展 ................................................................................... 338
COM 接口 .......................................................................................................... 339
背景 ............................................................................................................. 339
PHP 函數 ..................................................................................................... 341
確定 API ...................................................................................................... 341
第15 章 網頁服務 ...................................................... 343
REST 客戶端 ..................................................................................................... 343
響應 ............................................................................................................. 345
獲取資源 ..................................................................................................... 348
更新資源 ..................................................................................................... 348
創建資源 ..................................................................................................... 349
刪除資源 ..................................................................................................... 350
XML-RPC .......................................................................................................... 350
服務器 ......................................................................................................... 350
客戶端 ......................................................................................................... 352
第16 章 調試PHP ..................................................... 355
開發環境 ............................................................................................................ 355
預演環境 ............................................................................................................ 356
生産環境 ............................................................................................................ 356
php.ini 配置 ........................................................................................................ 357
手動調試 ............................................................................................................ 358
錯誤日誌 ............................................................................................................ 360
IDE 調試 ............................................................................................................ 361
更多的調試技術 ................................................................................................. 362
第17 章 日期和時間 .................................................. 363
附錄A 函數參考 ........................................................ 367
索引 ........................................................................... 487
· · · · · · (
收起)