第1章 LAMP網站構建 1
1.1 介紹網站給你認識 1
1.1.1 Web應用的優勢 2
1.1.2 Web 2.0時代的互聯網 3
1.1.3 Web開發標準 4
1.1.4 認識腳本語言 5
1.1.5 瞭解HTTP協議 5
1.2 動態網站開發所需的Web構件 10
1.2.1 客戶端瀏覽器 10
1.2.2 超文本標記語言HTML 12
1.2.3 層疊樣式錶CSS 13
1.2.4 客戶端腳本編程語言JavaScript 13
1.2.5 Web服務器 14
1.2.6 服務器端編程語言 16
1.2.7 數據庫管理係統 16
1.3 幾種主流的Web應用程序平颱 17
1.3.1 Web應用程序開發平颱對比分析 18
1.3.2 動態網站開發平颱技術比較 19
1.4 Web的工作原理 19
1.4.1 情景1:服務器不帶應用程序服務器和數據庫 19
1.4.2 情景2:帶應用程序服務器的Web服務器 21
1.4.3 情景3:瀏覽器訪問服務器端的數據庫 21
1.5 LAMP網站開發組閤概述 22
1.5.1 Linux操作係統 22
1.5.2 Web服務器Apache 23
1.5.3 MySQL數據庫管理係統 24
1.5.4 PHP後颱腳本編程語言 24
1.5.5 LAMP發展趨勢 25
第2章 從搭建你的PHP開發環境開始 27
2.1 幾種常見的PHP環境安裝方式 27
2.1.1 Linux係統下源代碼包方式安裝環境 27
2.1.2 在Windows係統上安裝Web工作環境 28
2.1.3 搭建學習型的PHP工作環境 28
2.2 環境安裝對操作係統的選擇 29
2.2.1 選擇網站運營的操作係統 29
2.2.2 選擇網站開發的操作係統 29
2.3 安裝集成PHP開發環境 30
2.3.1 安裝前準備 30
2.3.2 安裝步驟 30
2.3.3 環境測試 33
第3章 PHP的基本語法 36
3.1 PHP在Web開發中的應用 36
3.1.1 就從認識PHP開始吧 36
3.1.2 PHP都能做什麼 37
3.2 第一個PHP腳本程序 39
3.3 PHP語言標記 42
3.3.1 將PHP代碼嵌入HTML中的位置 43
3.3.2 解讀開始和結束標記 44
3.4 指令分隔符“分號” 45
3.5 程序注釋 45
3.6 在程序中使用空白的處理 47
3.7 變量 48
3.7.1 變量的聲明 48
3.7.2 變量的命名 49
3.7.3 可變變量 51
3.7.4 變量的引用賦值 51
3.8 變量的類型 52
3.8.1 類型介紹 52
3.8.2 布爾型(boolean) 53
3.8.3 整型(integer) 54
3.8.4 浮點型(float或double) 55
3.8.5 字符串(string) 55
3.8.6 數組(array) 57
3.8.7 對象(object) 58
3.8.8 資源類型(resource) 58
3.8.9 NULL類型 59
3.8.10 僞類型介紹 59
3.9 數據類型之間相互轉換 60
3.9.1 自動類型轉換 60
3.9.2 強製類型轉換 61
3.9.3 類型轉換細節 62
3.10 常量 62
3.10.1 常量的定義和使用 62
3.10.2 常量和變量 63
3.11 PHP中的運算符 63
3.11.1 算術運算符 64
3.11.2 字符串運算符 66
3.11.3 賦值運算符 67
3.11.4 比較運算符 68
3.11.5 邏輯運算符 69
3.11.6 位運算符 70
3.11.7 其他運算符 73
3.11.8 運算符的優先級 74
3.12 錶達式 75
第4章 PHP的流程控製結構 76
4.1 分支結構 76
4.1.1 單一條件分支結構(if) 77
4.1.2 雙嚮條件分支結構(else從句) 78
4.1.3 多嚮條件分支結構(elseif子句) 79
4.1.4 多嚮條件分支結構(switch語句) 80
4.1.5 巢狀條件分支結構 82
4.2 循環結構 83
4.2.1 while語句 84
4.2.2 do…while循環 86
4.2.3 for語句 87
4.3 特殊的流程控製語句 90
4.3.1 break語句 90
4.3.2 continue語句 91
4.3.3 exit語句 91
第5章 PHP的函數應用 93
5.1 函數的定義 93
5.2 自定義函數 94
5.2.1 函數的聲明 94
5.2.2 函數的調用 96
5.2.3 函數的參數 97
5.2.4 函數的返迴值 98
5.3 PHP變量的範圍 100
5.3.1 局部變量 100
5.3.2 全局變量 101
5.4 聲明及應用各種形式的PHP函數 103
5.4.1 常規參數的函數 104
5.4.2 僞類型參數的函數 104
5.4.3 引用參數的函數 105
5.4.4 默認參數的函數 106
5.4.5 可變個數參數的函數 108
5.4.6 迴調函數 108
5.5 使用自定義函數庫 111
第6章 PHP中的數組與數據結構 112
6.1 數組的分類 112
6.2 數組的定義 114
6.2.1 直接賦值的方式聲明數組 114
6.2.2 使用array()語言結構新建數組 116
6.2.3 多維數組的聲明 117
6.3 數組的遍曆 119
6.3.1 使用for語句循環遍曆數組 120
6.3.2 使用foreach語句遍曆數組 122
6.4 預定義數組 125
6.4.1 服務器變量:$_SERVER 126
6.4.2 環境變量:$_ENV 126
6.4.3 URL GET變量:$_GET 126
6.4.4 HTTP POST變量:$_POST 127
6.4.5 request變量:$_REQUEST 128
6.4.6 HTTP文件上傳變量:$_FILES 128
6.4.7 HTTP Cookies:$_COOKIE 129
6.4.8 Session變量:$_SESSION 129
6.4.9 Global變量:$GLOBALS 129
第7章 PHP麵嚮對象的程序設計 130
7.1 麵嚮對象的介紹 130
7.1.1 類和對象之間的關係 131
7.1.2 麵嚮對象的程序設計 132
7.2 如何抽象一個類 132
7.2.1 類的聲明 133
7.2.2 成員屬性 133
7.2.3 成員方法 134
7.3 通過類實例化對象 136
7.3.1 實例化對象 136
7.3.2 對象中成員的訪問 137
7.3.3 特殊的對象引用“$this” 139
7.3.4 構造方法與析構方法 141
7.4 封裝性 144
7.4.1 設置私有成員 144
7.4.2 私有成員的訪問 145
7.4.3 __set()和__get()方法 147
7.5 繼承性 151
7.5.1 類繼承的應用 152
7.5.2 訪問類型控製 153
7.5.3 子類中重載父類的方法 155
7.6 常見的關鍵字和魔術方法 158
7.6.1 final關鍵字的應用 158
7.6.2 static關鍵字的使用 159
7.6.3 const關鍵字 160
7.6.4 剋隆對象 161
7.6.5 類中通用的方法__toString() 162
7.6.6 __call()方法的應用 163
7.6.7 自動加載類 164
第8章 字符串處理 165
8.1 字符串的處理介紹 165
8.1.1 字符串的處理方式 165
8.1.2 字符串類型的特點 166
8.1.3 雙引號中變量解析總結 167
8.2 常用的字符串輸齣函數 167
8.3 常用的字符串格式化函數 170
8.3.1 去除空格和字符串填補函數 171
8.3.2 字符串大小寫的轉換 172
8.3.3 和HTML標簽相關的字符串格式化 172
第9章 正則錶達式 177
9.1 正則錶達式簡介 177
9.1.1 選擇PHP正則錶達式的處理函數庫 177
9.2 正則錶達式的語法規則 178
9.2.1 定界符 179
9.2.2 原子 179
9.2.3 元字符 181
9.2.4 模式修正符 184
9.3 與Perl兼容的正則錶達式函數 185
9.3.1 字符串的匹配與查找 185
9.3.2 字符串的替換 189
9.3.3 字符串的分割和連接 194
第10章 文件係統處理 197
10.1 文件係統概述 197
10.1.1 文件類型 197
10.1.2 文件的屬性 198
10.2 目錄的基本操作 201
10.2.1 解析目錄路徑 201
10.2.2 遍曆目錄 203
10.2.3 統計目錄大小 204
10.2.4 建立和刪除目錄 205
10.2.5 復製目錄 206
10.3 文件的基本操作 207
10.3.1 文件的打開與關閉 207
10.3.2 寫入文件 209
10.3.3 讀取文件內容 210
10.3.4 訪問遠程文件 212
10.3.5 移動文件指針 213
10.3.6 文件的鎖定機製 214
10.3.7 文件的一些基本操作函數 217
10.4 文件的上傳與下載 218
10.4.1 文件上傳 218
10.4.2 處理多個文件上傳 222
10.4.3 文件下載 223
第11章 PHP動態圖像處理 225
11.1 PHP中GD庫的使用 225
11.1.1 畫布管理 226
11.1.2 設置顔色 226
11.1.3 生成圖像 227
11.1.4 繪製圖像 228
11.1.5 在圖像中繪製文字 230
11.2 PHP圖片處理 232
11.2.1 圖片背景管理 233
11.2.2 圖片縮放 234
11.2.3 圖片裁剪 236
11.2.4 添加圖片水印 237
11.2.5 圖片鏇轉和翻轉 238
第12章 MySQL數據庫概述 241
12.1 數據庫的應用 241
12.1.1 數據庫在Web開發中的重要地位 242
12.1.2 為什麼PHP會選擇MySQL作為自己的黃金搭檔 242
12.1.3 PHP和MySQL的閤作方式 242
12.1.4 結構化查詢語言SQL 243
12.2 MySQL數據庫的常見操作 244
12.2.1 MySQL數據庫的連接與關閉 244
12.2.2 創建新用戶並授權 245
12.2.3 創建數據庫 245
12.2.4 創建數據錶 246
12.2.5 數據錶內容的簡單管理 247
第13章 MySQL數據錶的設計 249
13.1 數據錶(Table) 249
13.2 數據值和列類型 250
13.2.1 數值類的數據列類型 250
13.2.2 字符串類數據列類型 251
13.2.3 日期和時間型數據列類型 252
13.2.4 NULL值 253
13.2.5 類型轉換 253
13.3 數據字段屬性 253
13.4 數據錶對象管理 254
13.4.1 創建錶(CREATE TABLE) 254
13.4.2 修改錶(ALTER TABLE) 256
13.4.3 刪除錶(DROP TABLE) 257
13.5 數據錶的類型及存儲位置 257
13.5.1 MyISAM數據錶 257
13.5.2 InnoDB數據錶 258
13.5.3 如何選擇InnoDB還是MyISAM錶類型 258
13.6 數據錶的默認字符集 259
13.6.1 字符集支持原理 259
13.6.2 創建數據對象時修改字符集 259
13.7 創建索引 260
13.7.1 主鍵索引(PRIMARY KEY) 260
13.7.2 唯一索引(UNIQUE) 261
13.7.3 常規索引(INDEX) 261
第14章 SQL語句設計 263
14.1 操作數據錶中的數據記錄(DML) 263
14.1.1 使用INSERT語句嚮數據錶中添加數據 263
14.1.2 使用UPDATE語句更新數據錶中已存在的數據 264
14.1.3 使用DELETE語句刪除數據錶中不需要的數據記錄 265
14.2 通過DQL命令查詢數據錶中的數據 266
14.2.1 選擇特定的字段 266
14.2.2 使用AS子句為字段取彆名 267
14.2.3 DISTINCT關鍵字的使用 267
14.2.4 在SELECT語句中使用錶達式的列 268
14.2.5 使用WHERE子句按條件檢索 269
14.2.6 根據空值(NULL)確定檢索條件 270
14.2.7 使用BETWEEN AND進行範圍比較查詢 270
14.2.8 使用IN進行範圍比對查詢 271
14.2.9 使用LIKE進行模糊查詢 271
14.2.10 多錶查詢(連接查詢) 272
14.2.11 嵌套查詢(子查詢) 274
14.2.12 使用ORDER BY對查詢結果排序 275
14.2.13 使用LIMIT限定結果行數 275
14.2.14 使用統計函數 276
14.2.15 使用GROUP BY對查詢結果分組 277
第15章 PHP訪問MySQL的擴展函數 279
15.1 PHP訪問MySQL數據庫服務器的流程 279
15.2 在PHP腳本中連接MySQL服務器 281
15.2.1 在PHP程序中選擇已創建的數據庫 282
15.2.2 執行SQL命令 283
15.2.3 在PHP腳本中處理SELECT查詢結果集 284
第16章 數據庫抽象層PDO 287
16.1 PDO所支持的數據庫 287
16.2 PDO的安裝 289
16.3 創建PDO對象 290
16.3.1 以多種方式調用構造方法 290
16.3.2 PDO對象中的成員方法 293
16.4 使用PDO對象 293
16.4.1 調整PDO的行為屬性 293
16.4.2 PDO處理PHP程序和數據庫之間的數據類型轉換 294
16.4.3 PDO的錯誤處理模式 295
16.4.4 使用PDO執行SQL語句 295
16.5 PDO對預處理語句的支持 297
16.5.1 瞭解PDOStatement對象 298
16.5.2 準備語句 299
16.5.3 綁定參數 300
16.5.4 執行準備好的查詢 301
16.5.5 獲取數據 302
第17章 會話控製 306
17.1 為什麼要使用會話控製 306
17.2 會話跟蹤的方式 307
17.3 Cookie的應用 308
17.3.1 Cookie概述 308
17.3.2 嚮客戶端計算機中設置Cookie 309
17.3.3 在PHP腳本中讀取Cookie的資料內容 310
17.3.4 數組形態的Cookie應用 311
17.3.5 刪除Cookie 311
17.3.6 基於Cookie的用戶登錄模塊 312
17.4 Session的應用 314
17.4.1 Session概述 314
17.4.2 配置Session 315
17.4.3 Session的聲明與使用 316
17.4.4 注冊一個會話變量和讀取Session 316
17.4.5 注銷變量與銷毀Session 317
17.5 一個簡單的郵件係統實例 318
17.5.1 為郵件係統準備數據 319
17.5.2 編碼實現郵件係統 320
17.5.3 郵件係統執行說明 322
第18章 PHP的模闆引擎Smarty 324
18.1 什麼是模闆引擎 324
18.2 選擇Smarty模闆引擎 326
18.3 安裝Smarty及初始化配置 327
18.3.1 安裝Smarty 327
18.3.2 初始化Smarty類庫的默認設置 328
18.3.3 第一個Smarty的簡單示例 331
18.4 Smarty的基本應用 333
18.4.1 PHP程序員常用和Smarty相關的操作 334
18.4.2 模闆設計時美工的常用操作 335
18.5 Smarty模闆設計的基本語法 336
18.5.1 模闆中的注釋 336
18.5.2 模闆中的變量應用 336
18.5.3 模闆中的函數應用 339
18.5.4 忽略Smarty解析 341
18.6 在Smarty模闆中的變量應用 341
18.7 在Smarty模闆中的變量調解器 344
18.7.1 變量調解器函數的使用方式 344
18.7.2 Smarty默認提供的變量調解器 345
18.7.3 自定義變量調解器插件 347
18.8 Smarty模闆中自定義函數 349
18.8.1 為Smarty模闆擴充函數插件 349
18.8.2 為Smarty模闆擴充塊函數插件 351
18.9 Smarty模闆中的內置函數 352
18.9.1 變量聲明 352
18.9.2 流程控製 353
18.9.3 聲明和調用模闆函數 355
18.9.4 數組遍曆 356
18.9.5 Smarty提供的其他內置函數 361
18.10 Smarty的模闆繼承特性 362
18.10.1 使用{extends}函數實現模闆繼承 362
18.10.2 在子模闆中覆蓋父模闆中的部分內容區域 363
18.10.3 閤並子模闆和父模闆的{block}標簽內容 364
第19章 MVC模式與PHP框架 366
19.1 MVC模式在Web中的應用 366
19.1.1 MVC模式的工作原理 366
19.1.2 MVC模式的優缺點 368
19.2 PHP開發框架 369
19.2.1 什麼是框架 369
19.2.2 為什麼要用框架 370
19.2.3 框架和MVC設計模式的關係 370
19.2.4 比較流行的PHP框架 371
19.3 劃分模塊和操作 372
19.3.1 為項目劃分模塊 373
19.3.2 為模塊設置操作 373
以下內容詳見本書配書光盤:
第20章 超輕量級PHP框架
BroPHP 374
第21章 B/S結構軟件開發流程 425
第22章 需求分析說明書 434
第23章 數據庫設計說明書 445
第24章 程序設計說明書 461
· · · · · · (
收起)