PHP程序設計項目化教程(微課版)

臧金梅 郭甜甜

  • 出版商: 人民郵電
  • 出版日期: 2025-05-01
  • 定價: $359
  • 售價: $358
  • 語言: 簡體中文
  • 頁數: 264
  • ISBN: 711565980X
  • ISBN-13: 9787115659804
  • 相關分類: PHP
  • 下單後立即進貨 (約4週~6週)

  • PHP程序設計項目化教程(微課版)-preview-1
PHP程序設計項目化教程(微課版)-preview-1

商品描述

本書采用項目化內容組織方式,通過一系列精心設計的項目案例,逐步引導讀者從PHP編程入門走向精通。具體項目包括啟程探索PHP世界、智能BMI計算與健身運動推薦系統、匯率計算器、學生成績計算器、文本內容過濾器、用戶註冊平臺、問卷統計工具、購物車系統、學生信息管理系統。項目內容全面涵蓋PHP語法基礎、流程控制、函數、文件和目錄操作、前後端交互等知識,旨在通過實際項目加深讀者對PHP編程技術的理解,提高應用能力。

本書在深入講解PHP編程技術的同時,特別強調了網絡應用安全措施的重要性,旨在幫助讀者構建功能強大且安全可靠的Web應用。

本書適合作為普通高等學校、職業院校計算機相關專業的教材,同時也適合作為PHP愛好者及相關技術人員的自學參考書。

作者簡介

臧金梅,山東信息職業技術學院教師,擁有15年專業教學經驗,主要研究方向為Web前端開發、計算機網絡等。參與編寫了5本高職規劃教材,1本為“十四五”職業教育國家規劃教材,參與建設了1門省級精品課程、2門省級精品資源共享課程、2門省級在線精品課程、1門一流核心課程(線下)。主持和參與各級課題十余項,發表多篇學術論文,獲省級職業教育成果獎二等獎一項。曾獲山東省第七屆“超星杯”高校青年教師教學比賽二等獎,“建行杯”山東省“互聯網+”大學生創新創業大賽金獎1項、銅獎1項。

目錄大綱

目 錄

 

 

 

 

 

 

 

 

 

模塊1 PHP基礎

 

項目1

啟程探索PHP世界—PHP編程入門 2

知識儲備 3

1.1 PHP簡介 3

1.1.1 什麼是PHP 3

1.1.2 PHP的發展歷史 3

1.1.3 PHP的語言特性 4

1.1.4 PHP的工作原理 5

1.2 PHP開發環境與工具 5

1.2.1 PHP開發環境 5

1.2.2 PHP集成開發環境 6

1.2.3 PHP開發工具 7

【素養提升】工具是為思維服務的 8

1.2.4 Visual Studio Code的安裝

配置 8

【素養提升】智能編程助手不是

萬能的 10

1.3 PHP的簡單語法 11

1.3.1 PHP的標記方式 11

1.3.2 PHP的註釋方式 12

1.3.3 PHP的數據輸出方式 12

1.3.4 字符串連接運算符 13

1.3.5 換行符的使用 13

【能力進階】PHP編程書寫規範 14

項目分析 14

項目實施 14

任務1-1 搭建PHP開發環境 14

任務1-2 創建PHP文件 15

任務1-3 編寫PHP代碼 15

項目實訓—輸出個人信息 17

項目小結 17

應用安全拓展 17

鞏固練習 18

項目2

智能BMI計算與健身運動推薦

系統—語法基礎 19

知識儲備 20

2.1 變量和常量 20

2.1.1 標識符 20

2.1.2 關鍵字 20

2.1.3 變量 21

【案例實踐2-1】輸出商品信息 23

【能力進階】編程命名規範 24

2.1.4 常量 24

【案例實踐2-2】輸出商品折扣

信息 25

2.2 標量數據類型 26

2.2.1 布爾型 26

2.2.2 整型 27

2.2.3 浮點型 27

2.2.4 字符串型 27

2.2.5 數據類型的檢測 30

2.3 運算符 31

2.3.1 運算符的分類 31

【能力進階】三目運算符嵌套 32

2.3.2 算術運算符 32

【案例實踐2-3】計算商品折扣

價格 33

2.3.3 賦值運算符 34

2.3.4 比較運算符 35

2.3.5 邏輯運算符 36

2.3.6 運算符的優先級 37

【案例實踐2-4】計算商品盈利 37

2.4 表達式 38

2.5 數據類型的轉換 39

2.5.1 自動類型轉換 39

2.5.2 強制類型轉換 40

項目分析 41

項目實施 41

任務2-1 計算BMI 41

任務2-2 實現健身運動推薦 42

項目實訓—圖書信息的定義及管理 43

項目小結 43

應用安全拓展 44

鞏固練習 46

 

項目3

匯率計算器—流程控制 47

知識儲備 48

3.1 流程控制簡述 48

3.2 分支結構 48

3.2.1 單分支結構 48

3.2.2 雙分支結構 50

3.2.3 分支結構的嵌套應用 50

【案例實踐3-1】兒童旅行費折扣

問題 51

3.2.4 多分支結構—if...elseif...else

語句 52

【案例實踐3-2】分時問候 54

【能力進階】深入理解分支結構中else

語句的含義 54

3.2.5 多分支結構—switch

語句 56

【案例實踐3-3】課余活動反饋 58

3.2.6 switch語句和if語句結合的

結構 59

3.3 循環結構 59

3.3.1 for循環結構 59

【案例實踐3-4】實現1~10的奇偶數

判斷 60

3.3.2 while循環結構 61

3.3.3 do…while循環結構 61

【素養提升】有趣的while和do…while

循環結構 62

3.3.4 循環嵌套 62

【案例實踐3-5】實現九九乘法表的

輸出 63

【素養提升】循環中的智慧:人生的

重復與成長 64

3.4 跳轉語句 64

3.4.1 break語句 64

3.4.2 continue語句 65

3.5 異常處理 65

3.5.1 錯誤類型和級別 65

3.5.2 異常處理方式 66

3.6 文件包含語句 67

3.6.1 include語句和require

語句 67

3.6.2 include_once語句和

require_once語句 68

項目分析 69

項目實施 69

任務3-1 一對一匯率計算 69

任務3-2 一對多匯率計算 71

項目實訓—輸出金字塔圖形 72

項目小結 72

應用安全拓展 73

鞏固練習 74

項目4

學生成績計算器—PHP

函數 76

知識儲備 77

4.1 初識函數 77

4.1.1 函數的概念 77

4.1.2 函數的優勢 77

4.1.3 函數的分類 78

4.2 自定義函數 78

4.2.1 函數的定義 79

【案例實踐4-1】使用函數創建

表格 79

【素養提升】函數使用規範 80

4.2.2 函數的參數 80

4.2.3 函數的調用 82

【案例實踐4-2】精確判斷特定年月的

天數 84

4.2.4 變量的作用域 85

【能力進階】匿名函數 86

4.3 處理GET請求和預定義

變量$_GET 87

4.4 預定義函數 87

4.4.1 變量函數 87

【案例實踐4-3】數據驗證與類型

處理 89

4.4.2 數學函數 90

【案例實踐4-4】數學運算工具箱 90

4.4.3 時間和日期函數 92

【案例實踐4-5】計算度過的時間 93

【素養提升】自主獲取信息 94

項目分析 95

項目實施 95

任務4-1 構建成績輸入與驗證

界面 95

任務4-2 計算加權總分 95

任務4-3 評估成績等級 96

任務4-4 計算學生成績 96

項目實訓—日期差計算器 97

項目小結 97

應用安全拓展 98

鞏固練習 99

 

項目5

文本內容過濾器—數據

處理 101

知識儲備 102

5.1 數組 102

5.1.1 初識數組 102

5.1.2 數組的創建和初始化 103

5.1.3 數組的遍歷 104

【案例實踐5-1】計算學生平均分 106

5.1.4 常用的數組函數 106

【案例實踐5-2】獲取學生分數的

各種統計信息 107

【案例實踐5-3】使用指針操作

數組 109

5.2 字符串 113

5.2.1 字符串的輸出 113

5.2.2 常用的字符串操作函數 113

【能力進階】其他截取函數 114

【能力進階】其他查找函數 114

【能力進階】其他去除空白函數 116

【案例實踐5-4】通過文件路徑獲取

文件基本信息 116

【案例實踐5-5】格式化表單提交的數據 117

【案例實踐5-6】隱私保護:格式化

用戶提交的手機號 119

【素養提升】培養隱私保護意識,構建

和諧數字社會 119

5.2.3 字符串與數組 120

【案例實踐5-7】判斷IP地址

格式 121

項目分析 122

項目實施 122

任務5-1 定義敏感詞庫 122

任務5-2 實現內容過濾邏輯 122

任務5-3 測試並展示過濾效果 123

項目實訓—敏感詞過濾與檢測 123

項目小結 123

應用安全拓展 124

鞏固練習 125

 

模塊2 PHP進階

 

項目6

用戶註冊平臺—前後端數據

交互 128

知識儲備 129

6.1 表單基礎與數據交互 129

6.1.1 創建表單 129

6.1.2 添加表單控件 129

6.1.3 提交表單數據 131

6.1.4 獲取表單提交的數據 132

【案例實踐6-1】實現簡單的用戶

登錄和驗證 134

【能力進階】$_SERVER超全局

變量 135

【能力進階】判斷表單是否被

提交 135

【能力進階】深入理解GET與

POST 136

6.1.5 處理表單數組數據 136

【案例實踐6-2】學生課外活動選擇

表單 137

6.1.6 查詢字符串與URL參數

傳遞 138

6.1.7 使用查詢字符串實現前後端

數據交互 139

【案例實踐6-3】動態展示新聞

列表 139

【能力進階】對GET請求與查詢

字符串的理解 140

6.2 HTTP基礎 141

6.2.1 HTTP/HTTPS簡介 141

6.2.2 HTTP Headers的組成 142

6.2.3 基本信息 142

6.2.4 請求報文 144

【案例實踐6-4】查看請求報文 146

6.2.5 響應報文 147

【能力進階】自定義響應頭 148

6.3 Cookie和Session技術 149

6.3.1 Cookie技術 149

【案例實踐6-5】 實現用戶自動

登錄 152

6.3.2 Session技術 153

【案例實踐6-6】 通過Session

驗證登錄信息 155

6.3.3 Cookie和Session的

區別 157

【素養提升】PHP中的前後端數據

交互與用戶隱私保護 158

6.4 正則表達式 158

6.4.1 正則表達式簡介 158

6.4.2 正則表達式的組成 158

6.4.3 正則表達式的用法 158

6.4.4 正則表達式在PHP中的

應用 161

【案例實踐6-7】提取電子郵件

地址 163

項目分析 164

項目實施 164

任務6-1 實現用戶註冊界面 164

任務6-2 實現用戶數據有效性

檢查 165

項目實訓—用戶登錄與登出 166

項目小結 167

應用安全拓展 168

鞏固練習 170

項目7

問卷統計工具—文件和目錄

操作 171

知識儲備 172

7.1 目錄操作 172

7.1.1 目錄基本操作 172

【案例實踐7-1】使用scandir()函數

遍歷指定目錄 174

7.1.2 目錄與路徑解析 174

【案例實踐7-2】解析路徑基本

信息 175

7.1.3 目錄句柄 176

【案例實踐7-3】使用目錄句柄函數

遍歷指定目錄 177

7.2 文件操作 178

7.2.1 文件基本操作 178

7.2.2 文件讀寫操作 180

7.2.3 文件的上傳 183

【案例實踐7-4】實現單個文件

上傳 185

【能力進階】多文件上傳技巧 186

【素養提升】精確操作文件和目錄 187

項目分析 187

項目實施 187

任務7-1 實現問卷統計工具

界面 187

任務7-2 設計統計問卷選項 188

項目實訓—上傳個人簡歷和照片 191

項目小結 191

應用安全拓展 192

鞏固練習 193

 

項目8

購物車系統—面向對象程序

設計 195

知識儲備 196

8.1 面向對象 196

8.1.1 面向過程和面向對象的

對比 196

8.1.2 面向對象程序設計的優勢 196

8.1.3 面向對象的核心概念 197

8.2 類和對象 197

8.2.1 類的定義 198

8.2.2 訪問控制修飾符 198

8.2.3 類的實例化 199

8.2.4 訪問類的成員 200

【能力進階】為何在類方法中使用return

語句而非echo語句 200

【案例實踐8-1】類的實例化及類

成員的訪問 201

8.2.5 對象的比較 202

8.3 魔術方法 203

8.3.1 常見的魔術方法 203

8.3.2 構造方法 203

8.3.3 析構方法 204

【案例實踐8-2】構造方法和析構方法

的應用 205

8.4 類常量和靜態成員 206

8.4.1 類常量 206

8.4.2 靜態成員 207

【能力進階】類常量和靜態屬性的

應用場景 208

【能力進階】self和static

關鍵字 208

8.5 面向對象的特性 208

8.5.1 封裝 208

8.5.2 繼承 211

【能力進階】認識parent關鍵字 212

【能力進階】認識final關鍵字 212

8.5.3 多態 213

【案例實踐8-3】實現學校運動員參賽

得獎統計 214

8.6 抽象類和接口 216

8.6.1 抽象類 216

8.6.2 接口 217

【案例實踐8-4】實現常見交通工具的

應用 218

【素養提升】從面向對象程序設計到職

業素養:技術提升與團隊協作的

雙向進階 219

項目分析 220

項目實施 220

任務8-1 定義商品類及其子類 220

任務8-2 定義購物車類 222

任務8-3 實現前端界面 223

任務8-4 實現後端邏輯 225

項目實訓—常見圖形的周長和面積

計算器 226

項目小結 227

應用安全拓展 227

鞏固練習 228

 

項目9

學生信息管理系統—使用PHP操作MySQL數據庫 230

知識儲備 231

9.1 MySQL概述 231

9.1.1 MySQL簡介 231

9.1.2 MySQL的特點 231

9.1.3 安裝MySQL 232

9.1.4 啟動MySQL 232

9.1.5 安裝MySQL可視化工具 232

9.2 MySQL的基本操作 233

9.2.1 MySQL數據庫操作 233

9.2.2 MySQL數據表操作 234

9.2.3 MySQL數據操作 235

9.3 PHP的數據庫擴展 235

9.3.1 MySQLi擴展 235

9.3.2 PDO擴展 236

9.3.3 其他數據庫擴展 236

9.4 使用PHP操作MySQL

數據庫 236

9.4.1 MySQLi擴展的用法 236

9.4.2 MySQLi擴展的核心函數 236

9.4.3 連接MySQL數據庫 237

【能力進階】封裝數據庫連接

代碼 238

9.4.4 選擇MySQL數據庫 238

9.4.5 執行SQL語句 238

【案例實踐9-1】實現學生註冊

功能 239

9.4.6 預處理操作 240

【案例實踐9-2】添加預處理實現學生

註冊功能 242

9.4.7 處理結果集 243

【案例實踐9-3】解決用戶名沖突

問題 244

【案例實踐9-4】實現學生登錄

功能 246

9.4.8 釋放結果集 247

9.4.9 斷開數據庫連接 247

【素養提升】數據安全意識的培養與

加強 248

項目分析 248

項目實施 248

任務9-1 設計數據庫 248

任務9-2 設計數據連接 249

任務9-3 設計登錄頁面 249

任務9-4 設置操作權限 250

任務9-5 設計註冊頁面 251

任務9-6 添加數據 253

任務9-7 瀏覽數據 254

任務9-8 編輯數據 255

任務9-9 刪除數據 258

任務9-10 查詢數據 259

項目實訓—圖書管理系統 260

項目小結 262

應用安全拓展 262

鞏固練習 263