動態網站開發從入門到實踐:PHP 8+MySQL 8(微課版)
婁不夜
商品描述
"本書以動態網站開發實踐為目的,較為詳細地介紹了PHP 8及相關技術,內容包括PHP入門、HTML基礎、CSS基礎、數據與變量、運算符與流程控制、PHP函數、字符串處理、正則表達式、使用數組、面向對象編程、MySQL數據庫基礎、PHP訪問MySQL數據庫、表單與會話、文件處理及管理員子系統總括。 本書立足基本理論和方法,註重實踐與應用環節。對概念、原理和方法的描述力求準確、嚴謹,對例子和實例力求代碼規範、面向實際應用。 本書可作為普通高等院校電腦、軟件工程等相關專業的教材,也可作為動態網站開發者學習和使用PHP技術的參考書。"
目錄大綱
目錄
第1章PHP入門/1
1.1PHP及其版本演變1
1.1.1什麽是PHP1
1.1.2版本演變2
1.2Web基礎3
1.2.1URL3
1.2.2HTTP3
1.2.3HTML5
1.3在Web頁中嵌入PHP代碼6
1.3.1PHP標簽6
1.3.2嵌入PHP代碼塊7
1.4輸出HTML8
1.5代碼註釋9
1.6PHP工作原理10
1.7運行環境與開發環境10
1.7.1搭建運行環境11
1.7.2搭建開發環境15
1.8使用Apache NetBeans IDE15
1.8.1界面組成15
1.8.2基本操作16
習題118
第2章HTML基礎/19
2.1概念與基本元素19
2.1.1HTML文檔19
2.1.2HTML元素20
2.1.3若乾基本元素21
2.2列表23
2.2.1無序列表23
2.2.2有序列表24
2.2.3定義列表24
2.3表格25
2.3.1簡單的表格25
2.3.2跨行與跨列25
2.3.3標題、表頭、表體和表腳26
2.3.4邊框與單元格間距26
2.3.5為列指定CSS樣式28
2.4表單29
2.4.1表單元素form29
2.4.2input元素30
2.4.3為控件元素指定標簽30
2.4.4textarea元素31
2.4.5選擇列表32
習題232
第3章CSS基礎/34
3.1CSS規則34
3.2CSS選擇器35
3.2.1基本選擇器35
3.2.2層次選擇器37
3.2.3偽類選擇器38
3.2.4偽元素選擇器39
3.3使用CSS40
3.3.1定義和使用樣式表40
3.3.2層疊處理41
3.4框模型與定位模式43
3.4.1框模型43
3.4.2相關術語44
3.4.3框的定位模式44
3.5CSS屬性和屬性值45
3.5.1字體和文本45
3.5.2顏色和背景47
3.5.3尺寸、邊距和邊框48
3.5.4定位與浮動50
3.5.5其他屬性51
3.6實戰: 浮動框與行內級塊框52
3.6.1管理員子系統頁頭52
3.6.2管理員子系統登錄表單53
習題355
第4章數據與變量/57
4.1PHP數據類型57
4.1.1標量類型57
4.1.2復合類型62
4.1.3null類型64
4.2類型轉換65
4.2.1自動類型轉換65
4.2.2強制類型轉換66
4.3變量與常量68
4.3.1PHP變量68
4.3.2變量賦值68
4.3.3變量作用域69
4.3.4可變變量72
4.3.5常量72
4.4錯誤與錯誤報告73
4.4.1錯誤類型73
4.4.2錯誤報告機制74
4.5實戰: 使用Heredoc字符串75
4.5.1輸出HTML文檔的前綴和後綴75
4.5.2呈現頁頭和頁腳76
4.5.3動態登錄表單77
習題478
第5章運算符與流程控制/80
5.1運算符80
5.1.1算術運算符80
5.1.2字符串運算符82
5.1.3比較運算符82
5.1.4邏輯運算符83
5.1.5位運算符84
5.1.6賦值運算符85
5.1.7其他運算符86
5.2表達式87
5.3流程控制89
5.3.1語句與語句塊89
5.3.2選擇結構90
5.3.3循環結構92
5.3.4跳轉語句95
5.4包含文件96
5.4.1包含文件語句96
5.4.2包含文件位置99
5.5實戰: 創建動態水平導航欄99
習題5100
第6章PHP函數/103
6.1函數的聲明與調用103
6.1.1函數聲明103
6.1.2函數調用104
6.2類型聲明104
6.2.1類型104
6.2.2類型轉換106
6.3函數參數106
6.3.1形參與實參106
6.3.2參數的默認值107
6.3.3名稱參數108
6.3.4可變長參數108
6.4函數返回值109
6.5變量函數110
6.6匿名函數111
6.6.1匿名函數作為變量值111
6.6.2用作callable類型參數的值113
6.7日期時間函數113
6.8實戰: 管理員子系統的各種表單116
6.8.1課程表單116
6.8.2選擇學期表單118
6.8.3添加開課信息表單119
習題6121
第7章字符串處理/125
7.1長度與去空125
7.1.1字符串長度125
7.1.2字符串去空126
7.2大小寫轉換與比較127
7.2.1大小寫轉換127
7.2.2字符串比較127
7.3子串處理128
7.3.1獲取子串128
7.3.2查找子串129
7.3.3替換子串130
7.4分隔和連接字符串132
7.5格式化輸出133
7.6字符串特殊處理135
習題7137
第8章正則表達式/140
8.1字符類140
8.2元字符與轉義序列141
8.3選項模式與子模式143
8.4量詞144
8.5斷言145
8.6PHP模式匹配函數146
8.7實戰: 使用正則表達式150
8.7.1檢測登錄數據151
8.7.2檢測課程數據151
習題8152
第9章使用數組/154
9.1創建和初始化數組154
9.2操作數組元素155
9.2.1訪問數組元素155
9.2.2修改、添加或刪除數組元素156
9.2.3在數組頭部或尾部操作元素157
9.3遍歷數組158
9.3.1數組指針158
9.3.2使用for語句遍歷數組159
9.3.3使用while語句遍歷數組159
9.3.4用回調函數處理數組各元素159
9.4數組排序160
9.4.1sort函數160
9.4.2asort和ksort函數161
9.4.3降序排序162
9.4.4隨機排序和反向排序162
9.4.5用戶自定義排序163
9.5其他數組操作163
9.5.1計數與統計163
9.5.2變量與數組元素的轉換164
9.6實戰: 呈現數據表格166
9.6.1課程信息表格166
9.6.2教師信息表格168
9.6.3開課信息列表169
習題9171
第10章面向對象編程(上)/174
10.1類的定義與對象的創建174
10.1.1概念174
10.1.2定義類175
10.1.3創建和使用對象176
10.2訪問控制178
10.2.1訪問修飾符178
10.2.2魔術方法__get和__set179
10.3構造方法與析構方法181
10.3.1構造方法181
10.3.2只讀型實例變量182
10.3.3析構方法182
10.4靜態類成員183
10.4.1靜態變量與靜態方法183
10.4.2類常量184
10.5類的自動加載185
10.6實戰: 翻頁導航欄186
10.6.1定義翻頁導航欄類186
10.6.2定義並註冊類自動加載函數188
習題10189
第11章面向對象編程(下)/192
11.1子類192
11.1.1定義子類192
11.1.2繼承構造方法193
11.1.3類類型的兼容性194
11.1.4檢測類型194
11.2覆蓋196
11.2.1變量覆蓋196
11.2.2方法覆蓋196
11.2.3簽名兼容性原則198
11.3抽象類和接口199
11.3.1抽象類199
11.3.2定義接口201
11.3.3實現接口202
11.4例外處理203
11.4.1概述203
11.4.2捕捉例外205
習題11208
第12章MySQL數據庫基礎/212
12.1登錄MySQL服務器212
12.2數據庫的創建與刪除213
12.2.1創建數據庫213
12.2.2選擇當前數據庫214
12.2.3顯示數據庫列表214
12.2.4刪除數據庫214
12.3MySQL數據類型215
12.3.1數值型215
12.3.2日期和時間型216
12.3.3字符串型218
12.4表的創建與刪除220
12.4.1創建表220
12.4.2顯示表列表和表結構223
12.4.3刪除表224
12.5實戰: 創建選課管理數據庫224
12.5.1創建數據庫224
12.5.2創建表225
12.6數據的插入、更新和刪除227
12.6.1插入數據228
12.6.2更新數據229
12.6.3刪除數據229
12.7查詢230
12.7.1SELECT語句230
12.7.2指定列230
12.7.3選擇行231
12.7.4使用謂詞232
12.7.5排序查詢結果233
12.7.6分組匯總233
12.7.7使用子查詢234
12.7.8連接查詢236
習題12237
第13章PHP訪問MySQL數據庫/238
13.1建立與MySQL服務器的連接238
13.2MySQLi錯誤報告模式239
13.2.1設置報告模式239
13.2.2創建連接對象時的錯誤處理240
13.3訪問MySQL數據庫241
13.4處理查詢結果242
13.5事務管理245
13.6使用預處理語句247
13.6.1創建預處理語句247
13.6.2執行預處理語句248
13.6.3處理查詢結果250
13.7實戰: 數據庫訪問應用252
13.7.1定義數據庫訪問類252
13.7.2驗證登錄用戶身份252
13.7.3添加課程記錄253
13.7.4分頁呈現數據254
13.7.5構建動態選項代碼256
13.7.6開課信息的獲取與維護258
習題13259
第14章表單與會話/261
14.1表單處理261
14.1.1提交表單261
14.1.2獲取表單數據262
14.1.3檢驗表單數據265
14.2會話管理268
14.2.1Cookie268
14.2.2基於Cookie的會話機制270
14.2.3啟動會話270
14.2.4會話變量271
14.3頁面跳轉與重定向272
14.4實戰: 訪問請求參數274
14.4.1addSchedules函數274
14.4.2“退出”系統275
習題14275
第15章文件處理/277
15.1常用的文件操作函數277
15.1.1創建目錄與文件277
15.1.2檢測目錄和文件278
15.1.3讀寫文件279
15.2流與文件操作281
15.2.1打開與關閉文件281
15.2.2向文件寫出數據282
15.2.3從文件讀入數據283
15.2.4移動與檢測文件指針284
15.3文件上傳285
15.3.1文件上傳表單285
15.3.2獲取上傳文件285
15.4文件下載288
習題15291
第16章管理員子系統總括/293
16.1子系統需求概述293
16.1.1用戶登錄293
16.1.2瀏覽教師信息293
16.1.3添加課程293
16.1.4維護開課信息295
16.1.5頁面和視圖297
16.2頁面的抽象超類297
16.2.1WebPage抽象類297
16.2.2AdminPage抽象類298
16.2.3TaskPage抽象類299
16.2.4自動加載設置300
16.3請求處理視圖關系表300
16.4具體頁面類的設計和實現302
16.4.1設計和實現的規則302
16.4.2登錄頁面類302
16.4.3瀏覽教師信息頁面類304
16.4.4添加課程頁面類306
16.4.5維護開課信息頁面類309
16.5具體頁面類的調用312
附錄A上機實驗/315
A.1學生教師子系統需求概述315
A.1.1登錄與註冊315
A.1.2教師子系統317
A.1.3學生子系統320
A.2學生教師子系統主要模塊實現322
A.2.1實驗1: 頁頭和頁腳322
A.2.2實驗2: 動態登錄與註冊表單323
A.2.3實驗3: 動態水平導航欄324
A.2.4實驗4: 檢測表單數據325
A.2.5實驗5: 呈現數據表格326
A.2.6實驗6: 錄入成績327
A.2.7實驗7: 選課328
A.2.8實驗8: 文件上傳與下載應用331
A.3學生教師子系統集成332
A.3.1總體要求332
A.3.2登錄與註冊的設計與實現333
A.3.3教師子系統的設計與實現335
A.3.4學生子系統的設計與實現337
參考文獻/340