第1部分 Web開發入門篇
         第1章 LAMP網站構建 2
         1.1 介紹Web給你認識 2
         1.1.1 Web應用的優勢 3
         1.1.2 Web 2.0時代的互聯網 4
         1.1.3 Web開發標準 6
         1.1.4 認識腳本語言 7
         1.2 動態網站開發所需的Web構件 7
         1.2.1 客戶端瀏覽器 8
         1.2.2 超文本標記語言(HTML) 9
         1.2.3 層疊樣式錶(CSS) 10
         1.2.4 客戶端腳本編程語言JavaScript 11
         1.2.5 Web服務器 11
         1.2.6 服務器端編程語言 12
         1.2.7 數據庫管理係統 13
         1.3 幾種主流的Web應用程序平颱 14
         1.3.1 Web應用程序開發平颱對比分析 14
         1.3.2 動態網站開發平颱技術比較 15
         1.4 HTTP協議與Web的關係 16
         1.4.1 HTTP協議概述 16
         1.4.2 HTTP協議結構 18
         1.4.3 HTTP請求消息 18
         1.4.4 HTTP響應消息 19
         1.4.5 URL概述 20
         1.5 Web的工作原理 20
         1.5.1 情景1:服務器不帶應用程序服務器
         和數據庫 21
         1.5.2 情景2:帶應用程序服務器的Web
         服務器 22
         1.5.3 情景3:瀏覽器訪問服務器端的數據庫 23
         1.6 LAMP網站開發組閤概述 23
         1.6.1 Linux操作係統 23
         1.6.2 Web服務器Apache 24
         1.6.3 MySQL數據庫管理係統 24
         1.6.4 PHP後颱腳本編程語言 25
         1.6.5 LAMP的發展趨勢 27
         1.6.6 Web的未來發展 28
         1.7 如何學習PHP 28
         1.7.1 確定學習的目標 29
         1.7.2 PHP學習綫路圖 29
         1.7.3 堅持動手實驗 31
         1.7.4 要事為先的原則 31
         1.7.5 Bug解決之道 32
         1.7.6 看教學視頻,讓學習變得簡單 33
         1.7.7 優秀的Web程序員是怎樣練成的 33
         1.8 小結 35
         本章必須掌握的知識點 35
         本章需要瞭解的內容 35
         第2章 HTML的設計與應用 36
         2.1 網頁製作概述 36
         2.1.1 HTML基礎 36
         2.1.2 簡單HTML實例製作 37
         2.2 HTML語言的語法 38
         2.2.1 HTML標簽和元素 38
         2.2.2 HTML語法不區分字母大小寫 38
         2.2.3 HTML標簽屬性 39
         2.2.4 HTML顔色值的設置 39
         2.2.5 HTML文檔注釋 39
         2.2.6 HTML代碼格式 39
         2.2.7 HTML字符實體 40
         2.3 HTML文件的主體結構 40
         2.4 HTML文檔頭部元素<head> 41
         2.4.1 <title>元素 41
         2.4.2 <base>元素 41
         2.4.3 <link>元素 42
         2.4.4 <meta>元素 42
         2.5 HTML文檔主體標記 43
         2.6 文字版麵的編輯 43
         2.6.1 格式標簽 44
         2.6.2 文本標簽 45
         2.7 創建圖像和鏈接 47
         2.7.1 插入圖片 47
         2.7.2 建立錨點和超鏈接 48
         2.8 使用HTML錶格 48
         2.9 HTML框架結構 51
         2.10 HTML錶單設計 53
         2.11 小結 57
         本章必須掌握的知識點 57
         本章需要瞭解的內容 58
         本章需要拓展的內容 58
         本章的學習建議 58
         第3章 層疊樣式錶 59
         3.1 CSS簡介 59
         3.2 CSS規則的組成 60
         3.2.1 CSS注釋 61
         3.2.2 長度單位 62
         3.2.3 顔色單位和URL值 62
         3.3 在HTML文檔中放置CSS的幾種方式 63
         3.3.1 內聯樣式錶 63
         3.3.2 嵌入一張樣式錶 63
         3.3.3 鏈接到一張外部的樣式錶 63
         3.4 CSS選擇器 64
         3.4.1 HTML選擇器 64
         3.4.2 類選擇器 64
         3.4.3 ID選擇器 65
         3.4.4 關聯選擇器 65
         3.4.5 組閤選擇器 65
         3.4.6 僞元素選擇器 66
         3.5 CSS常見的樣式屬性和值 66
         3.5.1 字體屬性 66
         3.5.2 顔色屬性 67
         3.5.3 背景屬性 67
         3.5.4 文本屬性 68
         3.5.5 邊框屬性 68
         3.5.6 鼠標光標屬性 70
         3.5.7 列錶屬性 70
         3.5.8 綜閤實例 71
         3.6 小結 73
         本章必須掌握的知識點 73
         本章需要瞭解的內容 73
         本章需要拓展的內容 73
         本章的學習建議 74
         第4章 DIV+CSS網頁標準化布局 75
         4.1 DIV+CSS對頁麵布局的優勢 75
         4.2 “無意義”的HTML元素div和span 76
         4.3 W3C盒子模型 76
         4.4 和頁麵布局有關的CSS屬性 78
         4.5 盒子區塊框的定位 79
         4.5.1 相對定位 80
         4.5.2 絕對定位 80
         4.6 使用盒子模型的浮動布局 81
         4.6.1 設置浮動 81
         4.6.2 行框和清理 82
         4.7 DIV+CSS的兼容性問題 84
         4.7.1 不同瀏覽器解釋盒子模型的差異 85
         4.7.2 設置瀏覽器去遵循W3C標準 86
         4.8 使用盒子模型設計頁麵布局 87
         4.8.1 居中設計 87
         4.8.2 設置兩列浮動的布局 88
         4.8.3 設置三列浮動的布局 89
         4.8.4 設置多列浮動的布局 90
         4.9 DIV+CSS網站首頁布局示例 91
         4.9.1 HTML文件的設計 91
         4.9.2 CSS文件設計 93
         4.10 小結 95
         本章必須掌握的知識點 95
         本章需要瞭解的內容 95
         本章需要拓展的內容 95
         本章的學習建議 95
         第5章 HTML5與CSS3的應用 96
         5.1 現在是用HTML5的時候 96
         5.2 HTML5語法的改變 97
         5.2.1 HTML5中的標記方法 97
         5.2.2 HTML5做到瞭與之前版本的兼容 98
         5.2.3 HTML5語法改變的簡單示例 99
         5.3 HTML5新增和廢除的元素 99
         5.3.1 新增的結構元素 99
         5.3.2 HTML5錶單增加的新特性 101
         5.3.3 新增多媒體播放元素 104
         5.3.4 新增的其他元素 105
         5.3.5 廢除的元素 106
         5.4 HTML5新增和廢除的屬性 106
         5.5 HTML5的高級功能介紹 108
         5.6 CSS3概述 109
         5.6.1 CSS3在選擇器上的支持 109
         5.6.2 CSS3在樣式上的支持 109
         5.6.3 CSS3對於動畫的支持 109
         5.6.4 在實際開發中該如何使用CSS3 110
         5.7 CSS3中的樣式選擇器 110
         5.7.1 基本選擇器 110
         5.7.2 多元素的組閤選擇器 111
         5.7.3 屬性選擇器 111
         5.7.4 結構性僞類選擇器 112
         5.8 CSS3的樣式屬性 113
         5.8.1 使用CSS3屬性前的準備 114
         5.8.2 邊框屬性 114
         5.8.3 背景屬性 115
         5.8.4 文本屬性 116
         5.8.5 用戶界麵屬性 117
         5.8.6 動畫屬性 117
         5.8.7 多列布局屬性 118
         5.8.8 漸變屬性 118
         5.8.9 透明屬性 119
         5.8.10 鏇轉屬性 119
         5.8.11 服務器端字體屬性 119
         5.9 使用HTML5中的新增元素來構建
         網頁 120
         5.10 LESS CSS框架簡介 124
         5.11 響應式布局 125
         5.11.1 響應式布局的優缺點 125
         5.11.2 響應式布局該怎麼設計 126
         5.11.3 響應式布局實例 126
         5.11.4 Media Queries的使用方法 128
         5.11.5 在移動設備上設置原始大小顯示 132
         5.11.6 響應式網站的內容設計 132
         5.11.7 響應式網站的設計流程 134
         5.12 Web前端CSS框架Bootstrap介紹 134
         5.12.1 Bootstrap的主要功能 135
         5.12.2 Bootstrap的頁麵布局和排版 135
         5.12.3 頁麵下拉菜單 135
         5.12.4 Bootstrap的優點和不足 136
         5.13 小結 137
         本章必須掌握的知識點 137
         本章需要瞭解的內容 137
         本章需要拓展的內容 137
         本章的學習建議 137
         第2部分 PHP基礎篇
         第6章 從搭建你的PHP開發環境開始 139
         6.1 幾種常見的PHP環境安裝方式 139
         6.1.1 Linux係統下源代碼包方式安裝
         環境 139
         6.1.2 在Windows係統上安裝Web
         工作環境 140
         6.1.3 搭建學習型的PHP工作環境 140
         6.2 環境安裝對操作係統的選擇 140
         6.2.1 選擇網站運營的操作係統 141
         6.2.2 選擇網站開發的操作係統 141
         6.3 安裝集成PHP開發環境 141
         6.3.1 安裝前準備 142
         6.3.2 安裝步驟 142
         6.3.3 環境測試 143
         6.4 改變文檔根目錄www的位置 145
         6.5 phpMyAdmin的配置與應用 146
         6.5.1 HTTP身份驗證模式 146
         6.5.2 Cookie身份驗證模式 147
         6.5.3 config身份驗證模式 147
         6.5.4 修改MySQL默認的訪問權限 148
         6.6 小結 149
         本章必須掌握的知識點 149
         本章需要瞭解的內容 149
         本章需要拓展的內容 149
         第7章 PHP的基本語法 150
         7.1 PHP在Web開發中的應用 150
         7.1.1 就從認識PHP開始吧 150
         7.1.2 PHP都能做什麼 151
         7.2 第一個PHP腳本程序 153
         7.3 PHP語言標記 156
         7.3.1 將PHP代碼嵌入HTML中的位置 157
         7.3.2 解讀開始和結束標記 157
         7.4 指令分隔符“分號” 158
         7.5 程序注釋 159
         7.6 在程序中使用空白的處理 160
         7.7 變量 161
         7.7.1 變量的聲明 161
         7.7.2 變量的命名 162
         7.7.3 可變變量 164
         7.7.4 變量的引用賦值 164
         7.8 變量的類型 165
         7.8.1 類型介紹 165
         7.8.2 布爾型(boolean) 166
         7.8.3 整型(integer) 167
         7.8.4 浮點型(float或double) 167
         7.8.5 字符串(string) 168
         7.8.6 數組(array) 170
         7.8.7 對象(object) 171
         7.8.8 資源類型(resource) 171
         7.8.9 NULL類型 172
         7.8.10 僞類型介紹 172
         7.9 數據類型之間相互轉換 173
         7.9.1 自動類型轉換 173
         7.9.2 強製類型轉換 174
         7.9.3 類型轉換細節 174
         7.9.4 變量類型的測試函數 175
         7.10 常量 176
         7.10.1 常量的定義和使用 176
         7.10.2 常量和變量 177
         7.10.3 係統中的預定義常量 177
         7.10.4 PHP中的魔術常量 177
         7.11 PHP中的運算符 178
         7.11.1 算術運算符 179
         7.11.2 字符串運算符 181
         7.11.3 賦值運算符 181
         7.11.4 比較運算符 182
         7.11.5 邏輯運算符 183
         7.11.6 位運算符 184
         7.11.7 其他運算符 187
         7.11.8 運算符的優先級 188
         7.12 錶達式 189
         7.13 小結 190
         本章必須掌握的知識點 190
         本章需要瞭解的內容 190
         本章需要拓展的內容 190
         第8章 PHP的流程控製結構 191
         8.1 分支結構 191
         8.1.1 單一條件分支結構(if) 192
         8.1.2 雙嚮條件分支結構(else子句) 193
         8.1.3 多嚮條件分支結構(elseif子句) 193
         8.1.4 多嚮條件分支結構(switch語句) 195
         8.1.5 巢狀條件分支結構 197
         8.1.6 條件分支結構實例應用(簡單計算器) 197
         8.2 循環結構 199
         8.2.1 while語句 200
         8.2.2 do…while循環 202
         8.2.3 for語句 203
         8.3 特殊的流程控製語句 205
         8.3.1 break語句 205
         8.3.2 continue語句 206
         8.3.3 exit語句 207
         8.4 PHP的新版特性——goto語句 207
         8.5 小結 209
         本章必須掌握的知識點 209
         本章需要瞭解的內容 209
         第9章 PHP的函數應用 210
         9.1 函數的定義 210
         9.2 自定義函數 211
         9.2.1 函數的聲明 211
         9.2.2 函數的調用 213
         9.2.3 函數的參數 214
         9.2.4 函數的返迴值 215
         9.3 函數的工作原理和結構化編程 216
         9.4 PHP變量的範圍 217
         9.4.1 局部變量 217
         9.4.2 全局變量 218
         9.4.3 靜態變量 220
         9.5 聲明及應用各種形式的PHP函數 220
         9.5.1 常規參數的函數 221
         9.5.2 僞類型參數的函數 222
         9.5.3 引用參數的函數 222
         9.5.4 默認參數的函數 223
         9.5.5 可變個數參數的函數 225
         9.5.6 迴調函數 226
         9.6 遞歸函數 230
         9.7 使用自定義函數庫 231
         9.8 PHP匿名函數和閉包 232
         9.9 小結 233
         本章必須掌握的知識點 233
         本章需要瞭解的內容 233
         本章需要拓展的內容 233
         第10章 PHP中的數組與數據結構 234
         10.1 數組的分類 234
         10.2 數組的定義 236
         10.2.1 直接賦值的方式聲明數組 236
         10.2.2 使用array()語言結構新建數組 238
         10.2.3 多維數組的聲明 238
         10.3 數組的遍曆 240
         10.3.1 使用for語句循環遍曆數組 241
         10.3.2 使用foreach語句遍曆數組 242
         10.3.3 聯閤使用list( )、each( )和while
         循環遍曆數組 245
         10.3.4 使用數組的內部指針控製函數遍
         曆數組 247
         10.4 預定義數組 248
         10.4.1 服務器變量:$_SERVER 249
         10.4.2 環境變量:$_ENV 250
         10.4.3 URL GET變量:$_GET 250
         10.4.4 HTTP POST變量:$_POST 251
         10.4.5 request變量:$_REQUEST 252
         10.4.6 HTTP文件上傳變量:$_FILES 252
         10.4.7 HTTP Cookies:$_COOKIE 252
         10.4.8 Session變量:$_SESSION 252
         10.4.9 Global變量:$GLOBALS 253
         10.5 數組的相關處理函數 253
         10.5.1 數組的鍵/值操作函數 253
         10.5.2 統計數組元素的個數和唯一性 256
         10.5.3 使用迴調函數處理數組的函數 257
         10.5.4 數組的排序函數 261
         10.5.5 拆分、閤並、分解和接閤數組 265
         10.5.6 數組與數據結構 267
         10.5.7 其他有用的數組處理函數 269
         10.6 操作PHP數組需要注意的一些細節 271
         10.6.1 數組運算符號 271
         10.6.2 刪除數組中的元素操作 272
         10.6.3 關於數組下標的注意事項 272
         10.7 小結 273
         本章必須掌握的知識點 273
         本章需要瞭解的內容 273
         本章需要拓展的內容 273
         第11章 PHP麵嚮對象的程序設計 274
         11.1 麵嚮對象的介紹 274
         11.1.1 類和對象之間的關係 275
         11.1.2 麵嚮對象的程序設計 275
         11.2 如何抽象一個類 276
         11.2.1 類的聲明 276
         11.2.2 成員屬性 277
         11.2.3 成員方法 278
         11.3 通過類實例化對象 279
         11.3.1 實例化對象 280
         11.3.2 對象類型在內存中的分配 281
         11.3.3 對象中成員的訪問 282
         11.3.4 特殊的對象引用“$this” 284
         11.3.5 構造方法與析構方法 286
         11.4 封裝性 288
         11.4.1 設置私有成員 289
         11.4.2 私有成員的訪問 290
         11.4.3 __set()、__get()、__isset()和__unset()
         4個方法 292
         11.5 繼承性 297
         11.5.1 類繼承的應用 297
         11.5.2 訪問類型控製 299
         11.5.3 子類中重載父類的方法 301
         11.6 常見的關鍵字和魔術方法 303
         11.6.1 final關鍵字的應用 303
         11.6.2 static關鍵字的使用 304
         11.6.3 單態設計模式 305
         11.6.4 const關鍵字 307
         11.6.5 instanceof關鍵字 307
         11.6.6 剋隆對象 307
         11.6.7 類中通用的方法__toString() 309
         11.6.8 __call()方法的應用 309
         11.6.9 自動加載類 311
         11.6.10 對象串行化 312
         11.7 抽象類與接口 315
         11.7.1 抽象類 315
         11.7.2 接口技術 316
         11.8 多態性的應用 318
         11.9 PHP 5.4的Trait特性 320
         11.9.1 Trait的聲明 320
         11.9.2 Trait的基本使用 320
         11.10 PHP 5.3版本以後新增加的命名空間 323
         11.10.1 命名空間的基本應用 323
         11.10.2 命名空間的子空間和公共空間 325
         11.10.3 命名空間中的名稱和術語 326
         11.10.4 彆名和導入 326
         11.11 麵嚮對象版圖形計算器 328
         11.11.1 需求分析 328
         11.11.2 功能設計及實現 329
         11.11.3 類的組織架構 334
         11.12 小結 335
         本章必須掌握的知識點 335
         本章需要瞭解的內容 336
         本章需要拓展的內容 336
         第12章 字符串處理 337
         12.1 字符串的處理介紹 337
         12.1.1 字符串的處理方式 337
         12.1.2 字符串類型的特點 338
         12.1.3 雙引號中的變量解析總結 338
         12.2 常用的字符串輸齣函數 339
         12.3 常用的字符串格式化函數 342
         12.3.1 去除空格和字符串填補函數 342
         12.3.2 字符串大小寫的轉換 343
         12.3.3 和HTML標簽相關的字符串
         格式化 344
         12.3.4 其他字符串格式化函數 348
         12.4 字符串比較函數 349
         12.4.1 按字節順序進行字符串比較 349
         12.4.2 按自然排序進行字符串比較 350
         12.5 小結 351
         本章必須掌握的知識點 351
         本章需要拓展的內容 351
         第13章 正則錶達式 352
         13.1 正則錶達式簡介 352
         13.2 正則錶達式的語法規則 353
         13.2.1 定界符 354
         13.2.2 原子 354
         13.2.3 元字符 356
         13.2.4 模式修正符 359
         13.3 與Perl兼容的正則錶達式函數 360
         13.3.1 字符串的匹配與查找 360
         13.3.2 字符串的替換 363
         13.3.3 字符串的分割和連接 368
         13.4 文章發布操作示例 370
         13.5 小結 375
         本章必須掌握的知識點 375
         本章需要瞭解的內容 375
         本章需要拓展的內容 375
         第3部分 PHP常用功能模塊篇
         第14章 PHP的錯誤和異常處理 377
         14.1 錯誤處理 377
         14.1.1 錯誤報告級彆 378
         14.1.2 調整錯誤報告級彆 378
         14.1.3 使用trigger_error()函數代替die()
         函數 380
         14.1.4 自定義錯誤處理 380
         14.1.5 寫錯誤日誌 382
         14.2 異常處理 384
         14.2.1 異常處理實現 385
         14.2.2 擴展PHP內置的異常處理類 385
         14.2.3 捕獲多個異常 387
         14.3 小結 389
         本章必須掌握的知識點 389
         本章需要瞭解的內容 389
         第15章 PHP的日期和時間 390
         15.1 UNIX時間戳 390
         15.1.1 將日期和時間轉變成UNIX
         時間戳 390
         15.1.2 日期的計算 392
         15.2 在PHP中獲取日期和時間 392
         15.2.1 調用getdate()函數取得日期/時間
         信息 392
         15.2.2 日期和時間格式化輸齣 393
         15.3 修改PHP的默認時區 394
         15.4 使用微秒計算PHP腳本執行時間 395
         15.5 日曆類 396
         15.6 小結 400
         本章必須掌握的知識點 400
         本章需要瞭解的內容 400
         本章需要拓展的內容 400
         本章的學習建議 400
         第16章 文件係統處理 401
         16.1 文件係統概述 401
         16.1.1 文件類型 401
         16.1.2 文件的屬性 402
         16.2 目錄的基本操作 405
         16.2.1 解析目錄路徑 405
         16.2.2 遍曆目錄 406
         16.2.3 統計目錄大小 408
         16.2.4 建立和刪除目錄 409
         16.2.5 復製目錄 409
         16.3 文件的基本操作 410
         16.3.1 文件的打開與關閉 410
         16.3.2 寫入文件 412
         16.3.3 讀取文件內容 413
         16.3.4 訪問遠程文件 415
         16.3.5 移動文件指針 416
         16.3.6 文件的鎖定機製 417
         16.3.7 文件的一些基本操作函數 420
         16.4 文件的上傳與下載 421
         16.4.1 文件上傳 421
         16.4.2 處理多個文件上傳 424
         16.4.3 文件下載 425
         16.5 設計經典的文件上傳類 426
         16.5.1 需求分析 426
         16.5.2 程序設計 427
         16.5.3 文件上傳類代碼實現 427
         16.5.4 文件上傳類的應用過程 432
         16.6 小結 433
         本章必須掌握的知識點 433
         本章需要瞭解的內容 434
         本章需要拓展的內容 434
         本章的學習建議 434
         第17章 PHP動態圖像處理 435
         17.1 PHP中GD庫的使用 435
         17.1.1 畫布管理 436
         17.1.2 設置顔色 437
         17.1.3 生成圖像 438
         17.1.4 繪製圖像 438
         17.1.5 在圖像中繪製文字 440
         17.2 設計經典的驗證碼類 443
         17.2.1 設計驗證碼類 443
         17.2.2 應用驗證碼類的實例對象 446
         17.2.3 錶單中應用驗證碼 446
         17.2.4 實例演示 447
         17.3 PHP圖片處理 447
         17.3.1 圖片背景管理 447
         17.3.2 圖片縮放 449
         17.3.3 圖片裁剪 450
         17.3.4 添加圖片水印 451
         17.3.5 圖片鏇轉和翻轉 453
         17.4 設計經典的圖像處理類 455
         17.4.1 需求分析 455
         17.4.2 程序設計 456
         17.4.3 圖像處理類代碼實現 456
         17.4.4 圖像處理類的應用過程 461
         17.5 小結 463
         本章必須掌握的知識點 463
         本章需要瞭解的內容 463
         本章需要拓展的內容 463
         第4部分 數據庫開發篇
         第18章 MySQL數據庫概述 465
         18.1 數據庫的應用 465
         18.1.1 數據庫在Web開發中的重要地位 466
         18.1.2 為什麼PHP會選擇MySQL作為
         自己的黃金搭檔 466
         18.1.3 PHP和MySQL的閤作方式 466
         18.1.4 結構化查詢語言SQL 467
         18.2 MySQL數據庫的常見操作 468
         18.2.1 MySQL數據庫的連接與關閉 468
         18.2.2 創建新用戶並授權 469
         18.2.3 創建數據庫 469
         18.2.4 創建數據錶 470
         18.2.5 數據錶內容的簡單管理 471
         18.3 小結 472
         本章必須掌握的知識點 472
         第19章 MySQL數據錶的設計 473
         19.1 數據錶(Table) 473
         19.2 數據值和列類型 474
         19.2.1 數值類的數據列類型 474
         19.2.2 字符串類的數據列類型 475
         19.2.3 日期和時間類的數據列類型 476
         19.2.4 NULL值 477
         19.2.5 類型轉換 477
         19.3 數據字段屬性 477
         19.4 數據錶對象管理 478
         19.4.1 創建錶(CREATE TABLE) 478
         19.4.2 修改錶(ALTER TABLE) 479
         19.4.3 刪除錶(DROP TABLE) 480
         19.5 數據錶的類型及存儲位置 481
         19.5.1 MyISAM數據錶 481
         19.5.2 InnoDB數據錶 481
         19.5.3 如何選擇InnoDB還是MyISAM
         錶類型 481
         19.5.4 數據錶的存儲位置 482
         19.6 數據錶的默認字符集 482
         19.6.1 字符集 483
         19.6.2 字符集支持原理 483
         19.6.3 創建數據對象時修改字符集 484
         19.7 創建索引 484
         19.7.1 主鍵索引(PRIMARY KEY) 484
         19.7.2 唯一索引(UNIQUE) 485
         19.7.3 常規索引(INDEX) 486
         19.7.4 全文索引(FULLTEXT) 486
         19.8 規範化 487
         19.8.1 起點 487
         19.8.2 第一範式 488
         19.8.3 第二範式 489
         19.8.4 第三範式 490
         19.8.5 規範化理論 491
         19.9 數據庫的設計技巧 492
         19.9.1 數據庫的設計要求 492
         19.9.2 命名的技巧 492
         19.9.3 數據庫具體設計工作中的技巧 493
         19.10 小結 493
         本章必須掌握的知識點 493
         本章需要瞭解的內容 493
         本章需要拓展的內容 493
         第20章 SQL語句設計 494
         20.1 操作數據錶中的數據記錄(DML) 494
         20.1.1 使用INSERT語句嚮數據錶中添加
         數據 494
         20.1.2 使用UPDATE語句更新數據錶中已
         存在的數據 495
         20.1.3 使用DELETE語句刪除數據錶中不
         需要的數據記錄 496
         20.2 通過DQL命令查詢數據錶中的數據 497
         20.2.1 選擇特定的字段 497
         20.2.2 使用AS子句為字段取彆名 498
         20.2.3 DISTINCT關鍵字的使用 498
         20.2.4 在SELECT語句中使用錶達式的列 499
         20.2.5 使用WHERE子句按條件檢索 499
         20.2.6 根據空值(NULL)確定檢索條件 501
         20.2.7 使用BETWEEN AND進行範圍
         比較查詢 501
         20.2.8 使用IN進行範圍比對查詢 501
         20.2.9 使用LIKE進行模糊查詢 501
         20.2.10 多錶查詢(連接查詢) 502
         20.2.11 嵌套查詢(子查詢) 504
         20.2.12 使用ORDER BY對查詢結果排序 505
         20.2.13 使用LIMIT限定結果行數 505
         20.2.14 使用統計函數 506
         20.2.15 使用GROUP BY對查詢結果
         分組 507
         20.3 查詢優化 508
         20.4 小結 509
         本章必須掌握的知識點 509
         本章需要拓展的內容 509
         本章的學習建議 509
         第21章 PHP訪問MySQL的擴展函數 510
         21.1 PHP訪問MySQL數據庫服務器
         的流程 510
         21.2 在PHP腳本中連接MySQL服務器 512
         21.2.1 在PHP程序中選擇已創建的數據庫 513
         21.2.2 執行SQL命令 513
         21.2.3 在PHP腳本中處理SELECT查詢
         結果集 515
         21.3 設計完美分頁類 517
         21.3.1 需求分析 517
         21.3.2 程序設計 517
         21.3.3 完美分頁類的代碼實現 518
         21.3.4 分頁類的應用過程 522
         21.4 管理books錶實例 525
         21.4.1 需求分析 525
         21.4.2 程序設計 526
         21.5 PHP的mysqli擴展介紹 533
         21.5.1 啓用mysqli擴展模塊 533
         21.5.2 mysqli擴展接口的應用概述 534
         21.6 小結 535
         本章必須掌握的知識點 535
         本章需要瞭解的內容 535
         本章需要拓展的內容 535
         本章的學習建議 535
         第22章 數據庫抽象層PDO 536
         22.1 PDO所支持的數據庫 536
         22.2 PDO的安裝 537
         22.3 創建PDO對象 538
         22.3.1 以多種方式調用構造方法 539
         22.3.2 PDO對象中的成員方法 541
         22.4 使用PDO對象 542
         22.4.1 調整PDO的行為屬性 542
         22.4.2 PDO處理PHP程序和數據庫之間的
         數據類型轉換 542
         22.4.3 PDO的錯誤處理模式 543
         22.4.4 使用PDO執行SQL語句 544
         22.5 PDO對預處理語句的支持 546
         22.5.1 瞭解PDOStatement對象 546
         22.5.2 準備語句 547
         22.5.3 綁定參數 548
         22.5.4 執行準備好的查詢 549
         22.5.5 獲取數據 550
         22.5.6 大數據對象的存取 554
         22.6 PDO的事務處理 554
         22.6.1 MySQL的事務處理 555
         22.6.2 構建事務處理的應用程序 555
         22.7 小結 557
         本章必須掌握的知識點 557
         本章需要瞭解的內容 557
         本章需要拓展的內容 557
         第5部分 PHP開發高級篇
         第23章 MemCache管理與應用 559
         23.1 MemCache概述 559
         23.1.1 初識MemCache 559
         23.1.2 MemCache在Web中的應用 560
         23.2 memcached的安裝及管理 562
         23.2.1 Linux下安裝MemCache軟件 562
         23.2.2 Windows下安裝MemCache軟件 562
         23.2.3 memcached服務器的管理 563
         23.3 使用Telnet作為memcached的客戶端
         管理 564
         23.3.1 連接memcached服務器 564
         23.3.2 基本的memcached客戶端命令 564
         23.3.3 查看當前memcached服務器的運行
         狀態信息 565
         23.3.4 數據管理指令 565
         23.4 PHP的memcached管理接口 566
         23.4.1 安裝PHP中的MemCache應用程序
         擴展接口 567
         23.4.2 MemCache應用程序擴展接口 568
         23.4.3 MemCache的實例應用 573
         23.5 memcached服務器的安全防護 574
         23.6 小結 574
         本章必須掌握的知識點 574
         本章需要瞭解的內容 575
         本章需要拓展的內容 575
         第24章 會話控製 576
         24.1 為什麼要使用會話控製 576
         24.2 會話跟蹤的方式 577
         24.3 Cookie的應用 577
         24.3.1 Cookie概述 578
         24.3.2 嚮客戶端計算機中設置Cookie 578
         24.3.3 在PHP腳本中讀取Cookie的資料
         內容 580
         24.3.4 數組形態的Cookie應用 580
         24.3.5 刪除Cookie 581
         24.3.6 基於Cookie的用戶登錄模塊 581
         24.4 Session的應用 583
         24.4.1 Session概述 583
         24.4.2 配置Session 584
         24.4.3 Session的聲明與使用 585
         24.4.4 注冊一個會話變量和讀取Session 585
         24.4.5 注銷變量與銷毀Session 586
         24.4.6 Session的自動迴收機製 587
         24.4.7 傳遞Session ID 588
         24.5 一個簡單的郵件係統實例 591
         24.5.1 為郵件係統準備數據 591
         24.5.2 編碼實現郵件係統 592
         24.5.3 郵件係統執行說明 594
         24.6 自定義Session處理方式 595
         24.6.1 自定義Session的存儲機製 595
         24.6.2 使用數據庫處理Session信息 598
         24.6.3 使用memcached處理Session信息 601
         24.7 小結 604
         本章必須掌握的知識點 604
         本章需要瞭解的內容 604
         本章需要拓展的內容 604
         第25章 PHP的CURL功能擴展模塊 605
         25.1 CURL功能模塊介紹 605
         25.2 PHP的CURL功能擴展模塊基本
         用法 606
         25.3 CURL相關的功能選項 607
         25.4 通過CURL擴展獲取頁麵信息 609
         25.5 通過CURL擴展用POST方法發送
         數據 610
         25.6 通過CURL擴展進行文件上傳 612
         25.7 通過CURL模擬登錄並獲取數據 614
         25.8 小結 615
         本章必須掌握的知識點 615
         本章需要拓展的內容 616
         第26章 PHP的模闆引擎Smarty 617
         26.1 什麼是模闆引擎 617
         26.2 自定義模闆引擎 619
         26.2.1 自定義模闆引擎類 619
         26.2.2 使用自己的模闆引擎 621
         26.2.3 應用自定義模闆引擎的示例分析 623
         26.3 選擇Smarty模闆引擎 626
         26.4 安裝Smarty及初始化配置 627
         26.4.1 安裝Smarty 628
         26.4.2 初始化Smarty類庫的默認設置 628
         26.4.3 第一個Smarty的簡單示例 631
         26.5 Smarty的基本應用 633
         26.5.1 PHP程序員常用的和Smarty相關
         的操作 634
         26.5.2 模闆設計時美工的常用操作 635
         26.6 Smarty模闆設計的基本語法 636
         26.6.1 模闆中的注釋 636
         26.6.2 模闆中的變量應用 636
         26.6.3 模闆中的函數應用 639
         26.6.4 忽略Smarty解析 641
         26.7 Smarty模闆中的變量應用 641
         26.7.1 從配置文件中讀取變量 642
         26.7.2 在模闆中使用保留變量 645
         26.8 Smarty模闆中的變量調解器 647
         26.8.1 變量調解器函數的使用方式 647
         26.8.2 Smarty默認提供的變量調解器 648
         26.8.3 自定義變量調解器插件 650
         26.9 Smarty模闆中的自定義函數 652
         26.9.1 為Smarty模闆擴充函數插件 652
         26.9.2 為Smarty模闆擴充塊函數插件 654
         26.10 Smarty模闆中的內置函數 654
         26.10.1 變量聲明 655
         26.10.2 流程控製 656
         26.10.3 聲明和調用模闆函數 659
         26.10.4 數組遍曆 660
         26.10.5 Smarty提供的其他內置函數 665
         26.11 Smarty的模闆繼承特性 666
         26.11.1 使用{extends}函數實現模闆繼承 666
         26.11.2 在子模闆中覆蓋父模闆中的部分
         內容區域 667
         26.11.3 閤並子模闆和父模闆的{block}
         標簽內容 668
         26.12 Smarty的緩存控製 669
         26.12.1 在Smarty中控製緩存 670
         26.12.2 每個模闆多個緩存 671
         26.12.3 為緩存實例消除處理開銷 671
         26.12.4 清除緩存 672
         26.12.5 關閉局部緩存 673
         26.13 小結 673
         本章必須掌握的知識點 673
         本章需要瞭解的內容 673
         本章需要拓展的內容 673
         第27章 MVC模式與PHP框架 674
         27.1 MVC模式在Web中的應用 674
         27.1.1 MVC模式的工作原理 674
         27.1.2 MVC模式的優缺點 676
         27.2 PHP開發框架 676
         27.2.1 什麼是框架 677
         27.2.2 為什麼要用框架 677
         27.2.3 框架和MVC設計模式的關係 678
         27.2.4 比較流行的PHP框架 679
         27.3 劃分模塊和操作 680
         27.3.1 為項目劃分模塊 680
         27.3.2 為模塊設置操作 681
         27.4 小結 681
         第28章 超輕量級PHP框架BroPHP 2.0 682
         28.1 BroPHP框架概述 682
         28.1.1 係統特點 683
         28.1.2 環境要求 683
         28.1.3 BroPHP框架源碼的目錄結構 684
         28.2 單一入口 684
         基於BroPHP框架的單一入口編寫規則 684
         28.3 部署項目應用目錄 685
         28.3.1 項目推薦的部署方式 686
         28.3.2 URL訪問 687
         28.4 BroPHP框架的基本設置 689
         28.4.1 默認開啓 689
         28.4.2 配置文件 690
         28.4.3 內置函數 691
         28.5 聲明控製器(Control) 692
         28.5.1 控製器的聲明(模塊) 692
         28.5.2 操作的聲明 693
         28.5.3 頁麵跳轉 694
         28.5.4 重定嚮 695
         28.6 設計視圖(View) 696
         28.6.1 視圖與控製器之間的交互 696
         28.6.2 切換模闆風格 697
         28.6.3 模闆文件的聲明規則 697
         28.6.4 display()的新用法 698
         28.6.5 模闆中的幾個常用變量應用 698
         28.6.6 在PHP程序中定義資源位置 699
         28.7 應用模型(Model) 699
         28.7.1 BroPHP數據庫操作接口的特性 700
         28.7.2 切換數據庫驅動 700
         28.7.3 聲明和實例化Model 701
         28.7.4 數據庫的統一操作接口 704
         28.8 自動驗證 721
         28.9 緩存設置 724
         28.9.1 基於memcached緩存設置 724
         28.9.2 基於Smarty的緩存機製 724
         28.10 調試模式 725
         28.11 內置擴展類庫 726
         28.11.1 分頁類Page 726
         28.11.2 驗證碼類Vcode 728
         28.11.3 圖像處理類Image 729
         28.11.4 文件上傳類FileUpload 730
         28.11.5 BroPHP 2.0新增加的文件緩存類
         FileCache 731
         28.11.6 BroPHP 2.0新增加的無限分類處理
         類CatTree 733
         28.12 自定義功能擴展 736
         28.12.1 自定義擴展類庫 736
         28.12.2 自定義擴展函數庫 736
         28.13 BroPHP 2.0數據庫分離部署方案 737
         28.13.1 數據分離方法 737
         28.13.2 數據庫連接配置 737
         28.13.3 數據模型配置 738
         28.14 BroPHP 2.0資源分布式部署 738
         28.14.1 網站資源分布式部署方法 739
         28.14.2 部署上傳的文件資源 739
         28.14.3 部署縮略圖的資源位置 740
         28.14.4 將公共資源和單個應用中的資源
         分離部署 740
         28.14.5 將臨時和緩存文件分離部署 741
         28.15 BroPHP 2.0主程序與Web目錄分離 741
         28.16 小結 742
         本章必須掌握的知識點 742
         本章需要瞭解的內容 742
         第6部分 項目開發篇
         第29章 B/S結構軟件開發流程 744
         29.1 軟件開發過程的劃分 744
         29.2 需求開發 745
         29.2.1 需求分析流程 746
         29.2.2 需求分析說明 746
         29.2.3 輸齣 747
         29.3 係統設計 747
         29.3.1 係統設計流程 748
         29.3.2 係統設計說明 748
         29.4 編碼測試 750
         29.4.1 編碼與測試流程 750
         29.4.2 編碼說明 751
         29.4.3 結果測試說明 752
         29.5 試運行 754
         29.5.1 軟件試運行流程 754
         29.5.2 軟件試運行說明 755
         29.6 實施 755
         29.6.1 軟件實施流程 756
         29.6.2 軟件實施說明 756
         29.7 驗收 757
         29.7.1 軟件驗收流程 757
         29.7.2 軟件驗收說明 758
         29.7.3 驗收標準 759
         29.8 服務與維護 759
         29.8.1 責任人 759
         29.8.2 收集信息 759
         29.8.3 維護分析 760
         29.8.4 軟件維護 760
         29.8.5 改進 760
         29.8.6 輸齣 760
         29.9 項目管理 760
         29.9.1 軟件項目的計劃 761
         29.9.2 軟件項目的組織 763
         29.9.3 項目小組組織形式 763
         29.10 項目參考 764
         第30章 電子商城係統需求分析說明書 765
         30.1 文檔介紹 765
         30.1.1 編寫說明 766
         30.1.2 項目背景 766
         30.1.3 讀者對象 766
         30.1.4 參考資料 766
         30.1.5 術語與縮寫解釋 767
         30.2 任務概述 767
         30.2.1 産品的描述 767
         30.2.2 係統目標 768
         30.2.3 係統功能結構 769
         30.2.4 係統流程圖 769
         30.3 業務描述 773
         30.3.1 後颱登錄管理 774
         30.3.2 後颱操作界麵管理 775
         30.3.3 商品列錶管理 777
         30.3.4 前颱首頁管理 780
         30.3.5 前颱商品管理 782
         30.3.6 前颱購物管理 785
         30.4 係統運行環境 788
         30.4.1 硬件環境 788
         30.4.2 軟件環境 789
         30.5 需求設計評審 789
         第31章 數據庫設計說明書 790
         31.1 引言 790
         31.1.1 編寫目的 790
         31.1.2 背景 791
         31.1.3 定義 791
         31.1.4 參考文獻 791
         31.2 外部設計 791
         31.2.1 標識符和狀態 792
         31.2.2 使用它的程序 792
         31.2.3 約定 792
         31.2.4 支持軟件 792
         31.3 結構設計 792
         概念結構設計 793
         31.4 邏輯結構設計 801
         31.4.1 E-R圖嚮關係模型的轉化 801
         31.4.2 確定關係模式 801
         31.4.3 消除冗餘 802
         31.5 物理結構設計 802
         31.5.1 設計數據錶結構 803
         31.5.2 創建數據錶 808
         31.5.3 數據錶記錄的輸入 813
         31.6 安全保密設計 813
         31.6.1 完整性 813
         31.6.2 數據庫設計的其他問題 814
         第32章 程序設計說明書 815
         32.1 引言 815
         32.1.1 編寫目的 815
         32.1.2 背景 816
         32.1.3 定義 816
         32.1.4 使用技術 816
         32.1.5 參考文獻 816
         32.2 係統的結構 816
         32.2.1 項目的目錄結構 817
         32.2.2 模塊結構 817
         32.2.3 程序結構 818
         32.3 用戶管理模塊設計說明 822
         32.3.1 功能 822
         32.3.2 流程邏輯 822
         32.3.3 接口 823
         32.3.4 存儲分配 823
         32.3.5 注釋設計 823
         32.3.6 限製條件 823
         32.3.7 測試計劃 824
         32.3.8 尚未解決的問題 824
         32.3.9 獲取添加用戶的界麵操作add() 824
         32.3.10 用戶數據入庫的操作insert() 825
         32.3.11 查詢用戶列錶操作index() 826
         32.3.12 獲取修改用戶的界麵操作mod() 827
         32.3.13 用戶數據修改的操作update() 828
         32.3.14 刪除用戶操作del() 828
         附 錄
         附錄A 編碼規範 831
         A.1 緒論 831
         A.1.1 適用範圍 831
         A.1.2 目標 831
         A.1.3 開發工具 832
         A.2 PHP的文件格式 832
         A.2.1 PHP開始和結束標記 832
         A.2.2 注釋規範 833
         A.2.3 空行和空白 833
         A.2.4 字符串的使用 834
         A.2.5 命名原則 835
         A.2.6 語言結構 837
         A.2.7 其他規範細節 840
         A.3 MySQL設計規範 841
         A.3.1 數據錶的設計 841
         A.3.2 索引設計原則 842
         A.3.3 SQL語句設計 843
         A.4 模闆設計 843
         附錄B PHP的安全和優化 845
         B.1 網站安全Security 845
         B.1.1 安全配置PHP 846
         B.1.2 隱藏配置細節 849
         B.1.3 隱藏敏感數據 850
         B.1.4 清理用戶數據 851
         B.1.5 數據加密 854
         B.2 網站優化Optimize 854
         B.2.1 PHP腳本級優化 854
         B.2.2 使用代碼優化工具 856
         B.2.3 緩存加速 857
         B.2.4 HTTP加速 857
         B.2.5 啓用GZIP內容壓縮 857
         附錄C PHP 5.3~5.6新特性 858
         C.1 PHP 5.3中的新特性 858
         C.2 PHP 5.4中的新特性 859
         C.2.1 PHP 5.4中其他值得注意的改變 859
         C.2.2 PHP 5.4中其他改動和特性 860
         C.3 PHP 5.5中的新特性 860
         C.4 PHP 5.6中的新特性 861
      · · · · · ·     (
收起)