●第1章 PHP開篇1
1.1 PHP基礎知識 2
1.1.1 Web技術 2
1.1.2 PHP概述 2
1.1.3 常用編輯工具 3
1.2 PHP開發環境搭建 4
1.2.1 Apache的安裝 4
1.2.2 PHP的安裝 8
1.2.3 Web服務器配置 12
動手實踐:PHP編程快速體驗 17
本章小結 19
課後練習 19
第2章 PHP基本語法 20
2.1 基本語法 21
2.1.1 標記與注釋 21
2.1.2 輸出語句 23
2.1.3 PHP標識符 23
2.1.4 PHP關鍵字 23
2.2 數據與運算 24
2.2.1 常量 24
2.2.2 變量 26
2.2.3 表達式 27
2.2.4 數據類型及轉換 27
2.2.5 運算符及優先級 33
2.3 流程控制語句 39
2.3.1 選擇結構語句 39
2.3.2 循環結構語句 41
2.3.3 跳轉語句 44
2.3.4 流程替代語法 46
2.4 文件包含語句 47
動手實踐:表格生成器 47
本章小結 51
課後練習 51
第3章 函數 53
3.1 函數的定義與調用 54
3.1.1 初識函數 54
3.1.2 參數設置 55
3.1.3 變量的作用域 57
3.2 函數的嵌套調用 58
3.2.1 嵌套調用 58
3.2.2 遞歸調用 59
3.3 函數的高級應用 60
3.3.1 靜態變量 60
3.3.2 可變函數 60
3.3.3 回調函數 61
3.3.4 匿名函數 61
3.4 PHP的內置函數 62
3.4.1 字符串函數 62
3.4.2 數學函數 65
3.4.3 時間日期函數 66
3.5 PHP手冊的使用 67
動手實踐:制作年歷 70
本章小結 73
課後練習 74
第4章 數組 75
4.1 初識數組 76
4.2 數組的基本使用 76
4.2.1 數組的定義 76
4.2.2 訪問數組 78
4.2.3 遍歷數組 79
4.2.4 數組的刪除 80
4.2.5 數組操作符 81
4.3 數組查找 81
4.3.1 順序查找法 81
4.3.2 二分查找法 82
4.4 數組排序 83
4.4.1 冒泡排序 84
4.4.2 簡單選擇排序 85
4.4.3 快速排序 86
4.4.4 插入排序 87
4.5 數組的常用函數 88
4.5.1 指針操作函數 88
4.5.2素操作函數 90
4.5.3 排序函數 90
4.5.4 檢索函數 91
4.5.5 其他數組函數 91
4.6 數組在字符串與函數中的應用 92
4.6.1 字符串與數組的轉換 92
4.6.2 函數可變參數列表 93
4.6.3 將數組作為參數調用函數 94
動手實踐:找猴王遊戲 94
本章小結 96
課後練習 96
第5章 錯誤處理及調試 97
5.1 錯誤處理概述 98
5.1.1 常見的錯誤類型 98
5.1.2 錯誤級別 98
5.1.3 手動觸發錯誤 100
5.2 如何處理錯誤 101
5.2.1 顯示錯誤報告 101
5.2.2 記錄錯誤日志 102
5.2.3 自定義錯誤處理器 103
5.3 PHP的調試工具 104
5.3.1 NetBeans集成開發環境 104
5.3.2 PHP調試工具Xdebug 107
動手實踐:獲取PHP腳本運行信息 108
本章小結 112
課後練習 112
第6章 階段案例—Web表單生成器 113
6.1 案例展示 114
6.2 需求分析 114
6.3 案例實現 115
6.3.1 準備表單 115
6.3.2 多維數組保存數據 117
6.3.3 表單的自動生成 119
本章小結 122
第7章 PHP與Web頁面交互 123
7.1 Web交互 124
7.1.1 Web表單交互 124
7.1.2 URL參數交互 125
7.1.3 數組方式提交數據 126
7.1.4 HTML特殊字符處理 128
7.2 HTTP協議 131
7.2.1 什麼是HTTP 131
7.2.2 查看HTTP消息 131
7.2.3 PHP處理過程 132
7.2.4 HTTP請求消息 134
7.2.5 HTTP響應消息 137
動手實踐:利用cURL擴展發送請求 140
本章小結 142
課後練習 142
第8章 PHP操作MySQL數據庫 144
8.1 MySQL的安裝和使用 145
8.1.1 數據庫概述 145
8.1.2 獲取MySQL 145
8.1.3 命令安裝方式 146
8.1.4 MySQL命令行工具 148
8.2 PHP訪問MySQL 152
8.2.1 PHP的相關擴展 152
8.2.2 PHP訪問MySQL的基本步驟 153
8.3 MySQLi擴展的使用 153
8.3.1 連接數據庫 154
8.3.2 執行SQL語句 155
8.3.3 處理結果集 156
8.3.4 其他操作函數 157
8.4 預處理和參數綁定 159
8.4.1 什麼是預處理 159
8.4.2 預處理的實現 160
動手實踐:安裝phpMyAdmin 162
本章小結 164
課後練習 164
第9章 階段案例—“許願牆” 166
9.1 案例展示 167
9.2 需求分析 167
9.3 案例實現 168
9.3.1 準備工作 168
9.3.2 數據庫設計 171
9.3.3 “許願牆”展示 171
9.3.4 分頁查詢 174
9.3.5 發表願望 176
9.3.6 修改願望 179
9.3.7 刪除願望 182
本章小結 183
第10章 正則表達式 184
10.1 什麼是正則表達式 185
10.2 正則表達式快速入門 185
10.2.1 如何使用正則表達式 185
10.2.2 正則表達式的組成 186
10.2.3 獲取所有匹配結果 187
10.3 正則表達式語法 187
10.3.1 定位符與選擇符 188
10.3.2 字符範圍與反斜線 188
10.3.3 字符的限定與分組 189
10.3.4 模式修飾符 191
10.4 PCRE兼容正則表達式函數 192
10.4.1 preg_grep()函數 192
10.4.2 preg_replace()函數 193
10.4.3 preg_split()函數 194
動手實踐:正則表達式應用案例 195
本章小結 197
課後練習 197
第11章 文件操作 198
11.1 文件操作入門 199
11.1.1 文件讀寫 199
11.1.2 文件常用操作 202
11.1.3 文件類型和屬性 204
11.1.4 目錄操作 205
11.1.5 解析路徑 207
11.2 文件操作進階 208
11.2.1 文件指針 208
11.2.2 目錄句柄 211
11.2.3 資源流 213
動手實踐:文件上傳和下載 214
本章小結 218
課後練習 218
第12章 圖像技術 219
12.1 PHP圖像基礎 220
12.1.1 GD庫簡介 220
12.1.2 常見圖片格式 220
12.2 圖像的常見操作 222
12.2.1 圖像快速入門 222
12.2.2 圖像的基本操作 222
12.2.3 繪制基本形狀 225
12.2.4 繪制文本 227
12.3 圖像的復制與處理 229
12.3.1 圖像疊加與縮放 230
12.3.2 圖像過濾器 232
動手實踐:圖像處理的常見案例 234
本章小結 238
課後練習 238
第13章 階段案例—在線相冊 239
13.1 案例展示 240
13.2 需求分析 240
13.3 案例實現 241
13.3.1 準備工作 241
13.3.2 數據庫設計 245
13.3.3 相冊管理 246
13.3.4 圖片上傳 252
13.3.5 圖片瀏覽 257
13.3.6 圖片搜索 259
13.3.7 其他操作 260
本章小結 265
第14章 面向對像編程 266
14.1 什麼是面向對像 267
14.1.1 面向過程與面向對像 267
14.1.2 面向對像中的類與對像 267
14.1.3 面向對像的特征 268
14.2 類與對像的使用 268
14.2.1 類的定義與實例化 268
14.2.2 對像的基本使用 270
14.2.3 構造方法與析構方法 274
14.3 類常量與靜態成員 276
14.3.1 類常量 276
14.3.2 靜態成員 277
14.4 封裝與繼承 277
14.4.1 繼承 277
14.4.2 封裝 280
14.4.3 方法重寫 282
14.4.4 final關鍵字 283
14.5 抽像類與接口 284
14.5.1 抽像類與抽像方法 284
14.5.2 接口 285
14.5.3 多態與類型約束 286
14.6 設計模式 288
14.6.1 單例模式 288
14.6.2 工廠模式 289
動手實踐:MySQLi擴展面向對像語法 289
本章小結 291
課後練習 291
第15章 會話技術 293
15.1 會話技術的概述 294
15.2 Cookie技術 294
15.2.1 Cookie簡介 294
15.2.2 Cookie基本使用 295
15.2.3 Cookie路徑與域名 297
15.3 Session技術 298
15.3.1 Session簡介 298
15.3.2 Session基本使用 299
15.3.3 Session機制 300
動手實踐:用戶登錄與退出 304
本章小結 307
課後練習 307
第16章 階段案例—“趣PHP”
網站開發實戰 309
16.1 案例展示 310
16.2 需求分析 311
16.3 案例實現 312
16.3.1 準備工作 312
16.3.2 數據庫操作類 314
16.3.3 文件上傳類 319
16.3.4 用戶登錄與退出 322
16.3.5 驗證碼 327
16.3.6 用戶注冊 330
16.3.7 記住登錄狀態 332
16.3.8 用戶上傳頭像 335
16.3.9 欄目管理 337
16.3.10 內容發布與修改 342
16.3.11 處理圖片和視頻 346
16.3.12 內容查看 348
16.3.13 內容刪除 350
16.3.14 內容列表 351
16.3.15 發表回復 353
本章小結 356
本書是面向PHP初學者的一本入門教材,作者站在初學者的角度,以通俗易懂的語言、豐富的圖解、實用的案例,詳細講解了PHP語言的基礎知識。本書基於PHP 7.1版本進行講解,並介紹了PHP 5.4~PHP 7.1版本之間的差別,以確保代碼的兼容性。
全書共分為16章,其中有12個章節講解新知識,4個章節為階段案例。在知識講解章節,還配備了動手實踐,用於練習和鞏固本章所學內容,達到即學即練的目的。當學完一個階段的知識後,通過階段案例開發功能性強、界面美觀、用戶體驗很好的項目,如“許願牆”“在線相冊”和“趣PHP網站”等,將所學知識綜合運用到實際開發中,積累項目開發經驗。
本書適合作為高等院校本、專科計算機相關專業的教材使用,也可作為PHP愛好者的自學參考書,是一本適合廣大計算機編程愛好者的很好讀物。