本書系統全面的介紹了有關PHP程序開發(fā)所涉及的各類知識。全書共分16章,內容包括PHP入門與環(huán)境搭建、PHP開發(fā)基礎、運算符和表達式、流程控制語句、PHP數組、PHP與Web頁面交互、函數、字符串操作、MySQL數據庫、PHP操作MySQL數據庫、PHP會話控制、面向對象基礎、Ajax技術、ThinkPHP5.0框架、綜合案例——編程e學網、課程設計——九宮格抽獎。
買書送名師,明日科技資深講師面對面授課。本課程依托人民郵電出版社自主開發(fā)的在線教育慕課平臺——人郵學院(www.rymooc.com),該平臺具有完備的在線“教、學、測”功能。人郵學院提供體系完整的100學時慕課教學視頻同步講解,即學即練的在線測試。書中附有188個微課視頻,掃一掃書中二維碼,便可隨時隨地學習。附贈300余道習題和自測題, PPT 課件、案例源代碼、自測試卷、拓展案例等豐富的配套資源。
作者長期在高校從事PHP教學工作,有著豐富的教學經驗和實際項目開發(fā)經驗,主編多部PHP的高校教材和培訓用書,得到廣大師生的認可,取得比較好的市場反響。
第1章 PHP入門與環(huán)境搭建 1
1.1 PHP概述 2
1.1.1 PHP是什么 2
1.1.2 PHP語言的優(yōu)勢 2
1.1.3 PHP的版本 3
1.1.4 HTML嵌入式的腳本語言 3
1.2 PHP程序的工作流程 4
1.2.1 PHP服務器 4
1.2.2 PHP的工作流程 4
1.3 PHP開發(fā)環(huán)境構建 5
1.3.1 PHP開發(fā)環(huán)境的安裝 5
1.3.2 PHP服務器的啟動與停止 8
1.3.3 PHP開發(fā)環(huán)境的關鍵配置 9
1.4 常用代碼編輯工具 11
1.5 第一個PHP程序 12
小結 14
上機指導 14
習題 15
第2章 PHP開發(fā)基礎 16
2.1 PHP基本語法 17
2.1.1 PHP標記符 17
2.1.2 PHP注釋 17
2.1.3 PHP語句和語句塊 18
2.2 PHP的數據類型 19
2.2.1 標量數據類型 19
2.2.2 復合數據類型 23
2.2.3 特殊數據類型 24
2.2.4 檢測數據類型 24
2.3 PHP數據的輸出 25
2.3.1 print和echo 25
2.3.2 輸出運算符“= ?>” 26
2.4 PHP編碼規(guī)范 26
2.4.1 什么是編碼規(guī)范 26
2.4.2 PHP書寫規(guī)則 26
2.4.3 PHP命名規(guī)則 27
小結 28
上機指導 28
習題 28
第3章 運算符和表達式 29
3.1 常量 30
3.1.1 自定義常量 30
3.1.2 預定義常量 32
3.2 變量 33
3.2.1 變量的概念 33
3.2.2 定義和使用變量 33
3.2.3 變量的賦值方式 34
3.2.4 可變變量 35
3.2.5 PHP預定義變量 36
3.3 PHP運算符 37
3.3.1 算術運算符 37
3.3.2 字符串運算符 38
3.3.3 賦值運算符 38
3.3.4 位運算符 39
3.3.5 遞增或遞減運算符 40
3.3.6 邏輯運算符 41
3.3.7 比較運算符 42
3.3.8 條件運算符 43
3.3.9 運算符優(yōu)先級 44
3.4 表達式 44
3.5 數據類型的轉換 45
3.5.1 自動轉換 45
3.5.2 強制轉換 46
小結 49
上機指導 49
習題 49
第4章 流程控制語句 50
4.1 條件判斷語句 51
4.1.1 if語句 51
4.1.2 if…else語句 52
4.1.3 switch語句 54
4.2 循環(huán)控制語句 56
4.2.1 while循環(huán)語句 56
4.2.2 do...while循環(huán)語句 57
4.2.3 for循環(huán)語句 58
4.2.4 foreach循環(huán)語句 60
4.2.5 循環(huán)結構的應用 61
4.3 跳轉語句和終止語句 62
4.3.1 continue語句 62
4.3.2 break語句 63
4.3.3 exit語句 64
小結 64
上機指導 65
習題 65
第5章 PHP數組 66
5.1 數組概述 67
5.1.1 數組是什么 67
5.1.2 數組的類型 67
5.2 創(chuàng)建一維數組 68
5.2.1 通過數組標識符“[]”創(chuàng)建數組 68
5.2.2 使用array()函數創(chuàng)建數組 68
5.3 創(chuàng)建二維數組 69
5.3.1 通過數組標識符“[]”創(chuàng)建二維數組 69
5.3.2 使用array()函數創(chuàng)建二維數組 70
5.4 遍歷與輸出數組 71
5.4.1 遍歷數組 71
5.4.2 輸出數組 72
5.5 數組函數及其應用 73
5.5.1 創(chuàng)建數組的函數 73
5.5.2 數組統計函數 76
5.5.3 數組指針函數 77
5.5.4 數組和變量之間的轉換 80
5.5.5 數組檢索函數 81
5.5.6 數組排序函數 84
5.5.7 數組與數據結構 87
5.5.8 數組集合函數 88
小結 91
上機指導 91
習題 92
第6章 PHP與Web頁面交互 93
6.1 表單數據的提交方式 94
6.1.1 GET方法提交表單數據 94
6.1.2 POST方法提交表單數據 95
6.1.3 使用POST方法與GET方法的區(qū)別 95
6.2 應用PHP全局變量獲取表單數據 96
6.2.1 $_POST[]全局變量 96
6.2.2 $_GET[]全局變量 97
6.3 使用表單 97
6.3.1 創(chuàng)建表單 98
6.3.2 表單元素 98
6.3.3 使用數組提交表單數據 102
6.3.4 表單綜合應用 103
6.4 實現文件的上傳 106
6.4.1 上傳文件相關配置 106
6.4.2 全局變量$_FILES 106
6.4.3 實現PHP文件的上傳 108
6.5 服務器端獲取數據的其他方法 109
6.5.1 $_REQUEST[ ]全局變量 109
6.5.2 $_SERVER[ ]全局變量 109
小結 111
上機指導 111
習題 113
第7章 函數 114
7.1 函數簡介 115
7.1.1 什么是函數 115
7.1.2 函數的分類 115
7.2 自定義函數 115
7.2.1 自定義函數的定義 115
7.2.2 自定義函數的調用 116
7.2.3 自定義函數的參數 116
7.2.4 自定義函數的返回值 118
7.2.5 變量的作用域 119
7.2.6 變量函數 120
7.3 PHP文件的引用 121
7.3.1 include語句 122
7.3.2 require語句 122
7.3.3 include語句和require語句的比較 123
7.3.4 include_once語句和require_once語句 123
7.3.5 應用include語句構建電子商務平臺網首頁 124
小結 126
上機指導 126
習題 127
第8章 字符串操作 128
8.1 字符串的定義方法 129
8.1.1 使用單引號或雙引號定義字符串 129
8.1.2 使用定界符定義字符串 129
8.2 字符串處理函數 130
8.2.1 轉義、還原字符串 130
8.2.2 獲取字符串長度 133
8.2.3 截取字符串 134
8.2.4 比較字符串 136
8.2.5 檢索字符串 138
8.2.6 替換字符串 139
8.2.7 去掉字符串首尾空格和特殊字符 141
8.2.8 格式化字符串 143
8.2.9 分割、合成字符串 144
8.2.10 字符串與HTML轉換 145
8.2.11 其他常用字符串函數 147
小結 148
上機指導 148
習題 149
第9章 MySQL數據庫 150
9.1 MySQL簡介 151
9.1.1 什么是MySQL 151
9.1.2 MySQL特點 151
9.1.3 MySQL 5支持的特性 152
9.2 啟動和關閉MySQL服務器 152
9.2.1 啟動MySQL服務器 152
9.2.2 連接和斷開MySQL服務器 152
9.3 操作MySQL數據庫 153
9.3.1 創(chuàng)建數據庫 153
9.3.2 選擇數據庫 154
9.3.3 查看數據庫 154
9.3.4 刪除數據庫 154
9.4 MySQL數據類型 154
9.4.1 數字類型 155
9.4.2 字符串類型 155
9.4.3 日期和時間類型 157
9.5 操作數據表 157
9.5.1 創(chuàng)建數據表 157
9.5.2 查看表結構 158
9.5.3 修改表結構 159
9.5.4 重命名數據表 160
9.5.5 刪除數據表 160
9.6 數據表記錄的更新操作 161
9.6.1 數據表記錄的添加 161
9.6.2 數據表記錄的修改 161
9.6.3 數據表記錄的刪除 161
9.7 數據表記錄的查詢操作 162
9.8 MySQL中的特殊字符 165
9.9 MySQL數據庫的備份與還原 165
9.9.1 使用mysqldump命令備份數據庫 165
9.9.2 使用mysql命令還原數據庫 166
小結 167
上機指導 167
習題 168
第10章 PHP操作MySQL數據庫 169
10.1 PHP操作MySQL數據庫的方法 170
10.1.1 連接MySQL服務器 170
10.1.2 選擇MySQL數據庫 171
10.1.3 執(zhí)行SQL語句 172
10.1.4 將結果集返回數組中 173
10.1.5 從結果集中獲取一行作為對象 174
10.1.6 從結果集中獲取一行作為枚舉數組 175
10.1.7 從結果集中獲取一行作為關聯數組 176
10.1.8 獲取查詢結果集中的記錄數 177
10.1.9 釋放內存 177
10.1.10 斷開連接 178
10.1.11 連接與關閉MySQL服務器的最佳時機 178
10.2 管理MySQL數據庫中的數據 179
10.2.1 添加數據 179
10.2.2 編輯數據 181
10.2.3 刪除數據 182
10.2.4 批量數據操作 184
10.2.5 在電子商務平臺網后臺中查看訂單和刪除訂單 185
小結 187
上機指導 187
習題 190
第11章 PHP會話控制 191
11.1 Cookie的操作 192
11.1.1 瀏覽器中的Cookie設置 192
11.1.2 了解Cookie 192
11.1.3 創(chuàng)建Cookie 193
11.1.4 讀取Cookie 194
11.1.5 刪除Cookie 195
11.1.6 創(chuàng)建Cookie數組 195
11.2 Session的操作 196
11.2.1 了解Session 196
11.2.2 啟動Session 197
11.2.3 注冊Session 197
11.2.4 使用Session 197
11.2.5 刪除Session 199
11.2.6 Session綜合應用 199
11.2.7 電子商務平臺網用戶管理和權限控制 201
11.3 Cookie與Session的比較 203
小結 203
上機指導 203
習題 206
第12章 面向對象基礎 207
12.1 面向對象的基本概念 208
12.1.1 類 208
12.1.2 對象 208
12.1.3 面向對象的特點 208
12.2 類的聲明 209
12.2.1 定義類 209
12.2.2 成員屬性 210
12.2.3 成員常量 210
12.2.4 成員方法 211
12.3 類的實例化 211
12.3.1 對象的創(chuàng)建 211
12.3.2 訪問類中的成員 212
12.3.3 “$this”和“::”操作符 213
12.3.4 構造方法和析構方法 214
12.4 面向對象的封裝 215
12.4.1 公共成員關鍵字public 216
12.4.2 私有成員關鍵字private 216
12.4.3 保護成員關鍵字protected 217
12.5 面向對象的繼承 217
12.5.1 繼承關鍵字extends 218
12.5.2 子類調用父類的成員方法 218
12.5.3 覆蓋父類方法 219
12.6 static關鍵字 220
12.6.1 靜態(tài)屬性 220
12.6.2 靜態(tài)方法 220
12.7 抽象類和接口 221
12.7.1 抽象類 222
12.7.2 接口 223
12.8 面向對象實現多態(tài) 225
12.8.1 通過繼承實現多態(tài) 225
12.8.2 通過接口實現多態(tài) 226
12.9 面向對象的其他關鍵字 227
12.9.1 final關鍵字 227
12.9.2 clone關鍵字 227
12.9.3 instanceof關鍵字 228
12.10 面向對象的常用魔術方法 228
12.10.1 __set()和__get()方法 228
12.10.2 __isset()和__unset()方法 229
12.10.3 __call()方法 229
12.10.4 __toString()方法 230
12.10.5 __autoload()方法 230
小結 231
上機指導 231
習題 233
第13章 Ajax技術 234
13.1 Ajax概述 235
13.1.1 什么是Ajax 235
13.1.2 Ajax的開發(fā)模式 235
13.1.3 Ajax的優(yōu)點 235
13.2 Ajax技術的組成 236
13.2.1 JavaScript腳本語言 236
13.2.2 XMLHttpRequest對象 236
13.2.3 XML、DOM和CSS 240
13.3 Ajax與PHP的交互 241
13.3.1 通過GET方式與PHP進行交互 241
13.3.2 通過POST方式與PHP進行交互 243
13.3.3 在電子商務平臺網中應用Ajax技術檢測用戶名 246
13.4 Ajax開發(fā)注意事項 248
小結 248
上機指導 249
習題 251
第14章 ThinkPHP 5.0框架 252
14.1 ThinkPHP 5.0簡介 253
14.1.1 主要特性 253
14.1.2 運行環(huán)境 253
14.1.3 下載與安裝 253
14.2 ThinkPHP 5.0基礎 254
14.2.1 目錄結構 254
14.2.2 命名規(guī)范 255
14.2.3 執(zhí)行流程 256
14.3 ThinkPHP 5.0配置 256
14.3.1 配置格式 256
14.3.2 配置加載 257
14.3.3 入口配置 257
14.3.4 資源配置 258
14.3.5 調試配置 259
14.4 ThinkPHP 5.0路由 259
14.4.1 路由概述 259
14.4.2 路由模式 259
14.4.3 路由定義 260
14.4.4 路由表達式 261
14.4.5 路由地址 262
14.4.6 路由分組 263
14.4.7 MISS路由 263
14.4.8 URL的生成 264
14.5 ThinkPHP 5.0控制器 266
14.5.1 控制器的定義 266
14.5.2 控制器的初始化 266
14.5.3 跳轉和重定向 267
14.5.4 請求信息 268
14.5.5 輸入變量 269
14.5.6 請求類型 272
14.6 ThinkPHP 5.0數據庫 273
14.6.1 數據庫的連接 273
14.6.2 基本操作 276
14.7 ThinkPHP 5.0模型 280
14.7.1 模型的定義 280
14.7.2 設置數據表 280
14.7.3 模型調用 281
14.7.4 模型初始化 281
14.7.5 模型基礎操作 282
14.7.6 模型事件 287
14.8 ThinkPHP 5.0視圖 288
14.8.1 視圖實例化 288
14.8.2 內置模板引擎 289
14.8.3 模板賦值 289
14.8.4 模板渲染 291
14.8.5 模板輸出替換 291
14.9 ThinkPHP 5.0模板 292
14.9.1 模板特點 292
14.9.2 模板標簽 293
14.9.3 變量輸出 294
14.9.4 使用函數 295
14.9.5 內置標簽 295
14.9.6 包含文件 296
小結 296
第15章 綜合案例——編程e學網 297
15.1 案例設計 298
15.2 數據庫設計 298
15.2.1 數據庫設計 298
15.2.2 數據表設計 298
15.3 前臺模塊 300
15.3.1 視頻首頁 300
15.3.2 視頻列表頁 303
15.3.3 視頻播放頁 304
15.3.4 會員中心 306
15.3.5 登錄注冊 307
15.4 后臺模塊 308
15.4.1 課程管理 308
15.4.2 資源管理 312
15.4.3 注冊會員 314
15.4.4 賬號管理 315
15.4.5 登錄 315
小結 316
第16章 課程設計——九宮格抽獎 317
16.1 案例設計 318
16.2 數據庫設計 318
16.2.1 數據庫設計 318
16.2.2 數據表設計 318
16.3 抽獎設計 319
16.4 抽獎流程 320
16.4.1 后臺設置 320
16.4.2 前臺設置 321
16.4.3 開始抽獎 322
16.5 微信掃碼分享 326
16.6 個人中心 329
16.6.1 中獎信息 329
16.6.2 賬號管理 330
16.7 后臺管理系統 330
16.7.1 獎品設置 330
16.7.2 中獎信息 330
16.7.3 會員列表 331
16.8 登錄注冊 332
16.8.1 登錄 332
16.8.2 注冊 334
16.9 Web彈層組件layer 336
小結 338