PHP程序設計(慕課版 第2版)
內容描述
本書系統全面的介紹了有關PHP程序開發所涉及的各類知識。全書共分16章,內容包括PHP入門與環境搭建、PHP開發基礎、運算符和表達式、流程控制語句、PHP數組、PHP與Web頁面交互、函數、字符串操作、MySQL數據庫、PHP操作MySQL數據庫、PHP會話控制、面向對象基礎、Ajax技術、ThinkPHP5.0框架、綜合案例——編程e學網、課程設計——九宮格抽獎。
目錄大綱
第1章PHP入門與環境搭建1
1.1 PHP概述2
1.1.1 PHP是什麼2
1.1.2 PHP語言的優勢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開發環境構建5
1.3.1 PHP開發環境的安裝5
1.3.2 PHP服務器的啟動與停止8
1.3.3 PHP開發環境的關鍵配置9
1.4常用代碼編輯工具11
1.5第一個PHP程序12
小結14
上機指導14
習題15
第2章PHP開發基礎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編碼規範26
2.4.1什麼是編碼規範26
2.4.2 PHP書寫規則26
2.4.3 PHP命名規則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運算符優先級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循環控制語句56
4.2.1 while循環語句56
4.2.2 do...while循環語句57
4.2.3 for循環語句58
4.2.4 foreach循環語句60
4.2.5循環結構的應用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創建一維數組68
5.2.1通過數組標識符“[]”創建數組68
5.2.2使用array()函數創建數組68
5.3創建二維數組69
5 .3.1通過數組標識符“[]”創建二維數組69
5.3.2使用array()函數創建二維數組70
5.4遍歷與輸出數組71
5.4.1遍歷數組71
5.4.2輸出數組72
5.5數組函數及其應用73
5.5.1創建數組的函數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方法的區別95
6.2應用PHP全局變量獲取表單數據96
6.2.1 $_POST[]全局變量96
6.2. 2 $_GET[]全局變量97
6.3使用表單97
6.3.1創建表單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創建數據庫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創建數據表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執行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創建Cookie 193
11.1.4讀取Cookie 194
11.1.5刪除Cookie 195
11.1.6創建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對象的創建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靜態屬性220
12. 6.2靜態方法220
12.7抽像類和接口221
12.7.1抽像類222
12.7.2接口223
12.8面向對象實現多態225
12.8.1通過繼承實現多態225
12 .8.2通過接口實現多態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的開發模式235
13.1.3 Ajax的優點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開發注意事項248
小結248
上機指導249
習題251
第14章ThinkPHP 5.0框架252
14.1 ThinkPHP 5.0簡介253
14.1.1主要特性253
14 .1.2運行環境253
14.1.3下載與安裝253
14.2 ThinkPHP 5.0基礎254
14.2.1目錄結構254
14.2.2命名規範255
14.2.3執行流程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
作者介紹
作者長期在高校從事PHP教學工作,有著豐富的教學經驗和實際項目開發經驗,主編多部PHP的高校教材和培訓用書,得到廣大師生的認可,取得比較好的市場反響。