第1章 LAMP網站構建  1
         1.1 網站軟件簡介 1
         1.1.1 B/S軟件體係結構 1
         1.1.2 動態網站介紹 2
         1.2 動態網站軟件開發所需的Web構件 3
         1.2.1 客戶端瀏覽器 4
         1.2.2 擴展超文本標記語言XHTML 5
         1.2.3 層疊樣式錶CSS 6
         1.2.4 XML和XSLT 6
         1.2.5 客戶端腳本編程語言 7
         1.2.6 Web服務器 8
         1.2.7 服務器端腳本編程語言 9
         1.2.8 數據庫管理係統 10
         1.3 網站軟件開發平颱及工作流程 11
         1.3.1 動態網站開發平颱 11
         1.3.2 動態網站開發平颱技術比較 12
         1.4 客戶端與服務器端交互的工作原理 13
         1.4.1 HTTP協議是什麼 13
         1.4.2 Web的工作原理 14
         1.5 LAMP網站開發組閤概述 16
         1.5.1 Linux操作係統 17
         1.5.2 Web服務器Apache 17
         1.5.3 MySQL數據庫管理係統 18
         1.5.4 PHP後颱腳本編程語言 18
         1.5.5 LAMP發展趨勢 20
         1.6 小結 21
         自測題 21
         第2章 搭建PHP的開發環境 23
         2.1 環境安裝對操作係統的選擇 23
         2.1.1 選擇網站運營的操作係統 23
         2.1.2 選擇網站開發的操作係統 24
         2.2 Linux係統下源代碼包方式安裝環境 24
         2.2.1 安裝前準備 24
         2.2.2 編譯安裝過程介紹 26
         2.2.3 安裝libxml2最新庫文件 27
         2.2.4 安裝libmcrypt最新庫文件 27
         2.2.5 安裝zlib最新庫文件 28
         2.2.6 安裝libpng最新庫文件 29
         2.2.7 安裝jpeg6最新庫文件 29
         2.2.8 安裝freetype最新庫文件 30
         2.2.9 安裝autoconf最新的庫文件 30
         2.2.10 安裝最新的GD庫文件 31
         2.2.11 安裝新版本的Apache服務器 31
         2.2.12 安裝MySQL數據庫管理係統 32
         2.2.13 安裝最新版本的PHP模塊 36
         2.2.14 安裝Zend加速器 38
         2.2.15 phpMyAdmin的安裝 39
         2.2.16 phpMyAdmin的配置 40
         2.3 在Windows係統上安裝Web工作環境 42
         2.3.1 安裝前準備 42
         2.3.2 安裝Apache 43
         2.3.3 安裝MySQL 46
         2.3.4 安裝PHP 52
         2.3.5 安裝Zend加速器 55
         2.4 Window係統上安裝集成開發環境 57
         2.4.1 安裝前準備 58
         2.4.2 安裝步驟 58
         2.4.3 環境測試 60
         2.5 小結 61
         自測題 61
         第3章 Apache服務器的配置 62
         3.1 Apache簡介 62
         3.1.1 Apache的誕生 63
         3.1.2 Apache的特性 63
         3.2 Apache服務器的目錄結構 63
         3.3 Apache服務器配置文件結構說明 64
         3.3.1 Apache服務器配置文件位置 64
         3.3.2 配置文件的語法 65
         3.4 Apache服務器全局參數設置 66
         3.4.1 在主配置文件httpd.conf中的全局參數 67
         3.4.2 附加配置文件httpd-default.conf中的
         全局參數 70
         3.4.3 附加配置文件httpd-mpm.conf中的全局
         參數 71
         3.5 Apache服務器中使用配置段(容器) 74
         3.5.1 文件係統容器 76
         3.5.2 網絡空間容器 76
         3.5.3 通配符和正則錶達式 76
         3.5.4 如何選擇使用容器 77
         3.6 .htaccess文件和訪問限製 77
         3.6.1 設置路徑彆名 78
         3.6.2 在.htaccess文件中設置目錄的訪問限製 80
         3.7 設置虛擬主機 80
         3.7.1 基於IP地址的虛擬主機 81
         3.7.2 基於主機名的虛擬主機 83
         3.8 小結 87
         自測題 87
         第4章 XHTML和CSS網頁標準化布局 89
         4.1 網頁製作概述 89
         4.1.1 XHTML基礎 89
         4.1.2 CSS基礎 91
         4.2 HTML的設計與應用 92
         4.2.1 XHTML語言的語法 92
         4.2.2 XHTML文件的主體結構 94
         4.2.3 文字版麵的編輯 97
         4.2.4 創建圖像和鏈接 99
         4.2.5 使用XHTML錶格 101
         4.2.6 XHTML框架結構 103
         4.2.7 XHTML錶單設計 106
         4.3 CSS的設計與應用 109
         4.3.1 將樣式錶加入到HTML中 110
         4.3.2 CSS選擇符 111
         4.3.3 常見的樣式屬性和值 113
         4.4 DIV+CSS網頁標準化布局 120
         4.4.1 DIV+CSS的優勢 121
         4.4.2 “無意義”的元素div和span 121
         4.4.3 區塊框模型 122
         4.4.4 區塊框定位 123
         4.4.5 區塊框浮動 124
         4.4.6 使用區塊框設計頁麵布局 126
         4.5 XHTML和CSS網站首頁麵布局實例 129
         4.5.1 XHTML文件的設計 129
         4.5.2 CSS文件設計 130
         4.6 小結 132
         自測題 133
         第5章 PHP的基本語法 136
         5.1 PHP在Web開發中的應用 136
         5.2 第一個PHP腳本程序 138
         5.2.1 PHP語言標記 141
         5.2.2 指令分隔符“分號” 144
         5.2.3 程序注釋 144
         5.2.4 在程序中使用空白的處理 145
         5.3 變量 146
         5.3.1 變量的聲明 146
         5.3.2 變量的命名 147
         5.3.3 可變變量 148
         5.3.4 變量的引用賦值 149
         5.4 變量的類型 149
         5.4.1 類型介紹 150
         5.4.2 布爾型(boolean) 150
         5.4.3 整型(integer) 151
         5.4.4 浮點型(float或double) 152
         5.4.5 字符串(String) 152
         5.4.6 數組(Array) 155
         5.4.7 對象(Object) 155
         5.4.8 資源類型(Resource) 156
         5.4.9 NULL類型 156
         5.4.10 僞類型介紹 157
         5.4.11 數據類型之間相互轉換 157
         5.5 常量 160
         5.5.1 常量的定義和使用 160
         5.5.2 常量和變量 161
         5.5.3 預定義常量 161
         5.6 PHP中的運算符 162
         5.6.1 算術運算符 163
         5.6.2 字符串運算符 165
         5.6.3 賦值運算符 165
         5.6.4 比較運算符 166
         5.6.5 邏輯運算符 167
         5.6.6 位運算符 168
         5.6.7 其他運算符 171
         5.6.8 運算符的優先級 173
         5.7 錶達式 174
         5.8 小結 174
         自測題 174
         第6章 PHP的語言結構 176
         6.1 流程控製概述 176
         6.2 分支結構 176
         6.2.1 單一條件分支結構(if) 177
         6.2.2 雙嚮條件分支結構(else子句) 178
         6.2.3 多嚮條件分支結構(elseif子句) 179
         6.2.4 多嚮條件分支結構(switch語句) 180
         6.2.5 巢狀條件分支結構 183
         6.2.6 條件分支結構應用實例(簡單計算器) 184
         6.3 循環結構 186
         6.3.1 while語句 187
         6.3.2 do…while循環 189
         6.3.3 for語句 190
         6.3.4 特殊的流程控製語句 192
         6.4 PHP中的函數 195
         6.4.1 函數的定義 195
         6.4.2 自定義函數 195
         6.4.3 函數的工作原理和結構化編程 201
         6.4.4 PHP變量的範圍 202
         6.4.5 參數的傳遞 204
         6.4.6 變量函數 207
         6.4.7 遞歸函數 208
         6.4.8 使用自定義函數庫 209
         6.4.9 使用係統函數庫 210
         6.5 小結 210
         自測題 211
         第7章 PHP中的數組與數據結構 214
         7.1 數組的概述 214
         數組的分類 215
         7.2 數組的定義 216
         7.2.1 直接賦值的方式聲明數組 216
         7.2.2 使用array()語言結構新建數組 218
         7.2.3 多維數組的聲明 218
         7.3 數組的遍曆 220
         7.3.1 使用for語句循環遍曆數組 220
         7.3.2 使用foreach語句遍曆數組 222
         7.3.3 聯閤使用list( )、each( )和while循環
         遍曆數組 225
         7.3.4 使用數組的內部指針控製函數遍曆
         數組 227
         7.4 預定義數組 228
         7.4.1 服務器變量:$_SERVER 229
         7.4.2 環境變量:$_ENV 229
         7.4.3 HTTP GET變量:$_GET 230
         7.4.4 HTTP POST變量:$_POST 230
         7.4.5 request變量:$_REQUEST 232
         7.4.6 HTTP文件上傳變量:$_FILES 232
         7.4.7 HTTP Cookies:$_COOKIE 232
         7.4.8 Session變量:$_SESSION 232
         7.4.9 Global變量:$GLOBALS 233
         7.5 數組的相關處理函數 233
         7.5.1 數組的鍵/值操作函數 233
         7.5.2 統計數組元素的個數和唯一性 236
         7.5.3 使用迴調函數處理數組的函數 237
         7.5.4 數組的排序函數 240
         7.5.5 拆分、閤並、分解和接閤數組 244
         7.5.6 數組與數據結構 247
         7.5.7 其他有用的數組處理函數 248
         7.6 小結 250
         自測題 250
         第8章 PHP麵嚮對象的程序設計 253
         8.1 麵嚮對象的介紹 253
         8.1.1 類和對象之間的關係 253
         8.1.2 麵嚮對象的程序設計 254
         8.2 如何抽象一個類 255
         8.2.1 類的聲明 255
         8.2.2 成員屬性 256
         8.2.3 成員方法 257
         8.3 通過類實例化對象 258
         8.3.1 創建對象 259
         8.3.2 對象類型在內存中的分配 259
         8.3.3 對象中成員的訪問 261
         8.3.4 特殊的對象引用“$this” 263
         8.3.5 構造方法與析構方法 264
         8.4 封裝性 267
         8.4.1 設置私有成員 268
         8.4.2 私有成員的訪問 269
         8.4.3 __set()、__get()、__isset()和__unset()
         四個方法 271
         8.5 繼承性 276
         8.5.1 類繼承的應用 277
         8.5.2 訪問類型控製 278
         8.5.3 子類中重載父類的方法 280
         8.6 常見的關鍵字和魔術方法 282
         8.6.1 final關鍵字的應用 283
         8.6.2 static和const關鍵字的使用 283
         8.6.3 剋隆對象 285
         8.6.4 類中通用的方法__toString() 287
         8.6.5 通過__call()方法處理錯誤調用 287
         8.6.6 自動加載類 288
         8.6.7 對象串行化 289
         8.7 抽象類與接口 291
         8.7.1 抽象方法和抽象類 291
         8.7.2 接口技術 293
         8.8 多態性的應用 295
         8.9 小結 300
         自測題 300
         第9章 字符串處理與正則錶達式 303
         9.1 字符串的處理介紹 303
         9.1.1 字符串的處理方式 303
         9.1.2 字符串類型的特點 303
         9.2 常用的字符串輸齣函數 304
         9.3 常用的字符串格式化函數 306
         9.3.1 去除空格和字符串填補函數 307
         9.3.2 字符串大小寫的轉換 308
         9.3.3 和HTML標簽相關的字符串格式化 309
         9.3.4 其他字符串格式化函數 313
         9.4 字符串比較函數 314
         9.4.1 按字節順序進行字符串比較 314
         9.4.2 按自然排序進行字符串比較 315
         9.5 正則錶達式在字符串處理中的應用 316
         9.5.1 正則錶達式簡介 316
         9.5.2 正則錶達式的語法規則 317
         9.6 與Perl兼容的正則錶達式函數 322
         9.6.1 字符串的匹配與查找 323
         9.6.2 字符串的替換 326
         9.6.3 字符串的分割和連接 331
         9.7 文章發布操作示例 333
         9.8 小結 337
         自測題 337
         第10章 PHP常用功能模塊 340
         10.1 錯誤和異常處理 340
         10.1.1 錯誤類型和基本的調試方法 341
         10.1.2 錯誤日誌 343
         10.1.3 異常處理 345
         10.2 日期和時間 350
         10.2.1 UNIX時間戳 350
         10.2.2 在PHP中獲取日期和時間 351
         10.2.3 日期和時間格式化輸齣 352
         10.2.4 修改PHP的默認時區 353
         10.2.5 使用微秒計算PHP腳本執行時間 354
         10.3 動態圖像處理 355
         10.3.1 PHP中GD庫的使用 355
         10.3.2 畫布管理 356
         10.3.3 設置顔色 357
         10.3.4 生成圖像 358
         10.3.5 繪製圖像 359
         10.3.6 在圖像中繪製文字 361
         10.3.7 在PHP中實現驗證碼類的設計.. 363
         10.4 小結 367
         自測題 367
         第11章 文件係統處理 369
         11.1 文件係統概述 369
         11.1.1 文件類型 369
         11.1.2 文件的屬性 370
         11.2 目錄的基本操作 373
         11.2.1 解析目錄路徑 373
         11.2.2 遍曆目錄 375
         11.2.3 統計目錄大小 376
         11.2.4 建立和刪除目錄 377
         11.2.5 復製或移動目錄 377
         11.3 文件的基本操作 378
         11.3.1 文件的打開與關閉 378
         11.3.2 寫入文件 380
         11.3.3 讀取文件內容 381
         11.3.4 訪問遠程文件 383
         11.3.5 移動文件指針 384
         11.3.6 文件的鎖定機製 385
         11.3.7 文件的一些基本操作函數 387
         11.4 文件的上傳與下載 388
         11.4.1 文件上傳 389
         11.4.2 處理多個文件上傳 392
         11.4.3 文件下載 393
         11.5 文件係統項目實例 394
         11.5.1 功能分析 394
         11.5.2 係統功能設計 395
         11.5.3 實例代碼實現 396
         11.6 小結 418
         自測題 418
         第12章 MySQL數據庫設計 420
         12.1 MySQL數據庫管理 420
         12.1.1 數據庫管理係統 420
         12.1.2 結構化查詢語言SQL 421
         12.1.3 MySQL數據庫的連接與關閉 422
         12.1.4 創建、選擇及查看數據庫 423
         12.2 MySQL數據庫中數據錶的設計 423
         12.2.1 數據錶(Table) 423
         12.2.2 數據值和列類型 424
         12.2.3 數據字段屬性 427
         12.2.4 創建、修改及刪除錶 427
         12.2.5 數據錶的類型及存儲位置 430
         12.2.6 數據錶的默認字符集 431
         12.2.7 創建索引 432
         12.3 數據庫的設計步驟 435
         12.3.1 需求分析 435
         12.3.2 概念設計 437
         12.3.3 邏輯設計 439
         12.4 SQL語言設計 441
         12.4.1 執行DDL命令操作數據對象 441
         12.4.2 使用DML命令操作數據錶中的數據
         記錄 443
         12.4.3 通過DQL命令查詢數據錶中的數據 445
         12.5 使用PHP腳本嚮MySQL服務器發送
         SQL 455
         12.5.1 在PHP腳本中連接MySQL服務器 456
         12.5.2 在PHP程序中選擇已創建的數據庫 456
         12.5.3 執行SQL命令 457
         12.5.4 在PHP腳本中處理SELECT查詢
         結果集 458
         12.6 小結 460
         自測題 460
         第13章 PHP的mysqli擴展 464
         13.1 啓用mysqli擴展模塊 464
         13.2 使用mysqli類 465
         13.2.1 連接MySQL服務器 466
         13.2.2 處理連接錯誤報告 467
         13.2.3 關閉與MySQL服務器連接 468
         13.2.4 執行SQL命令 469
         13.3 使用mysqli_result類 469
         13.3.1 創建結果集對象 470
         13.3.2 迴收查詢內存 470
         13.3.3 從結果集中解析數據 471
         13.3.4 從結果集中獲取數據列的信息 474
         13.3.5 一次執行多條SQL命令 475
         13.4 使用mysqli_stmt類 476
         13.4.1 獲取預處理語句對象 477
         13.4.2 綁定參數 477
         13.4.3 執行準備好的語句 478
         13.4.4 迴收資源 478
         13.4.5 簡單的示例分析 478
         13.4.6 使用預處理語句處理SELECT查詢
         結果 479
         13.5 數據庫事務 481
         13.5.1 事務處理 481
         13.5.2 構建事務應用程序 482
         13.6 MVC模式實現商品管理係統 483
         13.6.1 MVC設計模式 483
         13.6.2 商品管理係統的設計與實現 485
         13.7 小結 494
         自測題 494
         第14章 數據庫抽象層PDO 497
         14.1 PDO所支持的數據庫 497
         14.2 PDO的安裝 498
         14.3 創建PDO對象 499
         14.3.1 以多種方式調用構造方法 500
         14.3.2 PDO對象中的成員方法 502
         14.4 使用PDO對象 502
         14.4.1 調整PDO的行為屬性 503
         14.4.2 PDO處理PHP程序和數據庫之間的
         數據類型轉換 503
         14.4.3 PDO的錯誤處理模式 504
         14.4.4 使用PDO執行SQL語句 504
         14.5 PDO對預處理語句的支持 506
         14.5.1 瞭解PDOStatement對象 507
         14.5.2 準備語句 507
         14.5.3 綁定參數 508
         14.5.4 執行準備好的查詢 509
         14.5.5 獲取數據 510
         14.5.6 大數據對象的存取 513
         14.6 PDO的事務處理 514
         14.7 小結 515
         自測題 515
         第15章 會話控製 517
         15.1 為什麼要使用會話控製 517
         15.2 會話跟蹤的方式 518
         15.3 Cookie的應用 518
         15.3.1 Cookie概述 519
         15.3.2 嚮客戶端電腦中設置Cookie 519
         15.3.3 在PHP腳本中讀取Cookie的資料內容 521
         15.3.4 數組形態的Cookie應用 521
         15.3.5 刪除Cookie 522
         15.3.6 基於Cookie的用戶登錄模塊 522
         15.4 Session的應用 524
         15.4.1 Session概述 524
         15.4.2 配置Session 525
         15.4.3 Session的聲明與使用 526
         15.4.4 注冊一個會話變量和讀取Session 526
         15.4.5 注銷變量與銷毀Session 527
         15.4.6 傳遞Session ID 528
         15.5 一個簡單的郵件係統 530
         15.5.1 為郵件係統準備數據 531
         15.5.2 編碼實現郵件係統 531
         15.5.3 郵件係統執行說明 534
         15.6 小結 535
         自測題 535
         第16章 PHP的模闆技術Smarty 537
         16.1 什麼是模闆引擎 537
         16.2 編寫自己的模闆引擎 538
         16.2.1 創建自己的模闆引擎類 538
         16.2.2 使用自已的模闆引擎 540
         16.2.3 自定義模闆的使用示例分析 542
         16.3 選擇Smarty模闆引擎 545
         16.4 安裝Smarty及初使化配置 546
         16.4.1 安裝Smarty 546
         16.4.2 初使化Smarty類庫的默認設置 546
         16.4.3 第一個Smarty的簡單示例 548
         16.5 Smarty在應用程序邏輯層的使用步驟 550
         16.6 Smarty模闆中的程序邏輯 551
         16.6.1 模闆中的注釋 551
         16.6.2 模闆中變量的聲明 552
         16.6.3 在模闆中輸齣從PHP分配的變量 552
         16.6.4 模闆中變量的數學計算 554
         16.6.5 在模闆中使用{$smarty}保留變量 554
         16.6.6 變量調解器 555
         16.6.7 模闆的控製結構 557
         16.6.8 在模闆中包含子模闆 563
         16.7 為Smarty模闆創建配置文件 563
         16.7.1 配置文件語法格式 563
         16.7.2 加載配置文件 564
         16.7.3 引用配置文件中的變量 565
         16.8 Smarty處理頁麵緩存 566
         16.8.1 在Smarty中控製緩存 567
         16.8.2 每個頁麵多個緩存 568
         16.8.3 為緩存實例消除處理開銷 568
         16.8.4 清除緩存 569
         16.8.5 關閉局部緩存 570
         16.9 應用Smarty實現分頁示例 571
         16.9.1 準備工作 571
         16.9.2 設計數據庫操作類 572
         16.9.3 設計分頁操作類 573
         16.9.4 PHP的程序邏輯層 575
         16.9.5 Smarty模闆的錶現層 576
         16.10 小結 577
         自測題 577
         第17章 內容管理係統(CMS) 579
         17.1 Web軟件開發流程概述 579
         17.1.1 Web開發團隊的成員 579
         17.1.2 Web軟件開發流程 580
         17.1.3 項目開發規範 582
         17.2 需求分析 584
         17.2.1 CMS簡介 584
         17.2.2 用戶行為分析 584
         17.2.3 係統目標 585
         17.2.4 係統特點 586
         17.3 係統功能預覽 586
         17.3.1 CMS係統安裝 586
         17.3.2 登錄管理平颱 589
         17.3.3 常規設置管理 590
         17.3.4 友情鏈接管理 591
         17.3.5 圖片管理 592
         17.3.6 欄目管理 595
         17.3.7 文章管理 596
         17.3.8 用戶管理 597
         17.3.9 網站首頁 598
         17.3.10 文章列錶頁麵 599
         17.3.11 文章內容頁麵 600
         17.4 數據庫設計 601
         17.4.1 數據庫需求分析 601
         17.4.2 數據錶關係 605
         17.5 係統架構 605
         17.5.1 係統體係結構 605
         17.5.2 管理平颱的文件結構 607
         17.5.3 網站前颱模闆風格的文件結構 608
         17.6 常用的功能模塊開發 610
         17.6.1 係統安裝模塊設計 610
         17.6.2 管理平颱(後颱)的模塊設計 616
         17.6.3 無限分類模塊設計 619
         17.6.4 網站首頁麵的設計 624
         17.7 小結 625
         附錄A PHP配置文件詳解  627
      · · · · · ·     (
收起)