本書以PHP 7為平臺。全書由4部分組成,涵蓋理論和實踐教學的全過程。第1部分“實用教程”介紹PHP、HTML+CSS基礎知識、PHP環(huán)境與開發(fā)入門、PHP基礎語法、PHP數(shù)組與字符串、PHP常用功能模塊、PHP面向對象程序設計、構建PHP互動網(wǎng)頁、數(shù)據(jù)庫基礎、使用PHP擴展函數(shù)庫操作數(shù)據(jù)庫、使用PDO通用接口操作數(shù)據(jù)庫、PHP與AJAX等內容;第2部分“實訓”選擇教程中有代表性的實例讓讀者先試做,然后提出要求,讓讀者參照書中的例子自己設計開發(fā)新功能,循序漸進地訓練、增強讀者的動手能力;第3部分“綜合應用實訓—PHP/MySQL學生成績管理系統(tǒng)”介紹一個基于流行ThinkPHP 框架開發(fā)的學生成績管理系統(tǒng),以培養(yǎng)讀者運用PHP解決實際問題的能力;第4部分“附錄”由附錄A“PHP程序調試與異常處理”和附錄B“PHP+HTML混合非框架學生成績管理系統(tǒng)”組成。本書配有電子課件、書中所有實例程序源代碼、綜合應用實訓項目工程源文件,讀者均可從華信教育資源網(wǎng)免費下載。書中所有實例程序均已上機調試通過。本書既可作為大學本科和高職高專相關課程教材與教學參考書,也可供從事PHP應用系統(tǒng)開發(fā)的人員學習和參考。
鄭阿奇,南京師范大學計算機科學與技術學院,副教授,江蘇省計算機學會高級會員。曾獲江蘇省教學二等獎成果獎2項,全國高校出版社暢銷圖書二等獎、江蘇省科技進步四等獎、江蘇省暢銷圖書編輯二等獎、江蘇省優(yōu)秀軟件獎、教育部優(yōu)秀教程二等獎等。出版圖書多部。
第1部分 實 用 教 程
第1章 PHP、HTML+CSS基礎知識 1
1.1 PHP和HTML簡介 1
1.1.1 PHP 1
1.1.2 HTML+CSS+JavaScript 3
1.1.3 HTML基本結構 3
1.2 HTML基礎 5
1.2.1 基本描述 6
1.2.2 設置文本格式 7
1.2.3 多媒體標記 10
1.2.4 表格的設置 11
1.2.5 畫布 13
1.3 表單 15
1.3.1 表單標記 15
1.3.2 表單輸入控件 16
1.3.3 其他表單控件 19
1.4 超鏈接 22
1.5 框架 23
1.6 HTML 5高級功能 26
1.7 層疊樣式表CSS 26
1.7.1 樣式表定義 26
1.7.2 樣式的繼承和作用順序 30
1.7.3 CSS 3新特性 30
1.7.4 HTML 5+CSS 3 31
習題1 32
第2章 PHP環(huán)境與開發(fā)入門 34
2.1 PHP環(huán)境搭建 34
2.1.1 組件的選擇 34
2.1.2 操作系統(tǒng)準備 34
2.1.3 安裝Apache服務器 36
2.1.4 安裝PHP 37
2.1.5 安裝MySQL數(shù)據(jù)庫 39
2.1.6 安裝Eclipse開發(fā)工具 43
2.2 PHP運行環(huán)境測試 46
2.2.1 PHP項目與程序運行 46
2.2.2 最簡單的PHP程序 49
2.2.3 同一頁面上的PHP交互 50
2.2.4 不同頁面上的PHP交互 51
2.3 基于模板的程序開發(fā) 52
2.3.1 安裝配置Smarty 52
2.3.2 實例——顯示和錄入學生成績 53
2.4 PHP集成環(huán)境 55
2.4.1 phpStudy集成環(huán)境 55
2.4.2 WampServer集成環(huán)境 57
2.5 PHP項目遷移 59
習題2 61
第3章 PHP基礎語法 62
3.1 PHP語法入門 62
3.1.1 PHP標記風格 62
3.1.2 PHP程序注釋 63
3.1.3 PHP頁面輸出 63
3.1.4 HTML嵌入PHP 63
3.1.5 PHP使用JavaScript 64
3.2 數(shù)據(jù)類型 65
3.2.1 整型 65
3.2.2 浮點型 65
3.2.3 字符串 66
3.2.4 布爾型 68
3.2.5 數(shù)組和對象 68
3.2.6 空類型 69
3.2.7 資源型 69
3.2.8 偽類型 69
3.2.9 類型轉換 70
3.3 變量與常量 71
3.3.1 自定義變量 71
3.3.2 可變變量 74
3.3.3 預定義變量 75
3.3.4 外部變量 76
3.3.5 常量 78
3.4 運算符與表達式 79
3.4.1 算術運算符 80
3.4.2 賦值運算符 80
3.4.3 位運算符 81
3.4.4 比較運算符 81
3.4.5 錯誤控制運算符 82
3.4.6 執(zhí)行運算符 82
3.4.7 遞增/遞減運算符 82
3.4.8 邏輯運算符 83
3.4.9 字符串運算符 84
3.4.10 數(shù)組運算符和類型運算符 84
3.4.11 運算符優(yōu)先級和結合性 85
3.4.12 表達式 85
3.5 程序流程控制 86
3.5.1 條件控制語句 86
3.5.2 循環(huán)控制語句 90
3.5.3 流程控制符 93
3.5.4 流程控制的替代語法 95
3.5.5 包含文件操作 96
3.5.6 declare結構 97
3.6 PHP函數(shù) 97
3.6.1 用戶自定義函數(shù) 98
3.6.2 參數(shù)的傳遞 98
3.6.3 函數(shù)變量的作用域 99
3.6.4 函數(shù)的返回值 99
3.6.5 函數(shù)的調用 100
3.6.6 遞歸函數(shù) 101
3.6.7 變量函數(shù) 101
3.6.8 系統(tǒng)函數(shù) 101
3.6.9 匿名函數(shù) 102
3.7 綜合實例 102
3.7.1 實例—多項選擇題 102
3.7.2 實例—計算器程序 103
習題3 104
第4章 PHP數(shù)組與字符串 107
4.1 數(shù)組及處理 107
4.1.1 數(shù)組的創(chuàng)建和初始化 107
4.1.2 鍵名和值的操作 110
4.1.3 數(shù)組的遍歷和輸出 113
4.1.4 數(shù)組的排序 115
4.1.5 數(shù)組的集合操作 119
4.1.6 其他操作 120
4.1.7 PHP 5.4之后版本新增特性 121
4.1.8 實例—處理表格數(shù)據(jù) 123
4.2 字符串操作 125
4.2.1 字符串的定義與顯示 125
4.2.2 字符串的格式化 125
4.2.3 常用的字符串函數(shù) 126
4.2.4 字符串的比較 127
4.2.5 字符串的替換 128
4.2.6 字符串與HTML 129
4.2.7 其他字符串函數(shù) 130
4.2.8 實例—留言簿內容處理 131
4.3 正則表達式 133
4.3.1 基礎知識 133
4.3.2 PHP中正則表達式的應用 136
4.3.3 實例—驗證表單內容 139
習題4 140
第5章 PHP常用功能模塊 143
5.1 目錄與文件操作 143
5.1.1 目錄操作 143
5.1.2 文件的打開與關閉 145
5.1.3 文件的寫入 147
5.1.4 文件的讀取 148
5.1.5 文件的上傳與下載 153
5.1.6 其他常用文件函數(shù) 156
5.1.7 實例—投票統(tǒng)計 158
5.2 圖形處理 160
5.2.1 安裝PHP圖像庫 160
5.2.2 創(chuàng)建圖形 160
5.2.3 繪制圖形 163
5.2.4 圖形的處理 171
5.2.5 其他的圖形函數(shù) 174
5.2.6 實例—自動生成驗證碼 175
5.3 日期和時間 177
5.3.1 UNIX時間戳 177
5.3.2 時間轉換為時間戳 177
5.3.3 獲取日期和時間 178
5.3.4 其他日期和時間函數(shù) 180
5.3.5 實例—生成日歷 181
習題5 182
第6章 PHP面向對象程序設計 184
6.1 基本概念 184
6.2 PHP中的類 185
6.2.1 創(chuàng)建類 185
6.2.2 類的屬性和方法 185
6.2.3 類的實例化 186
6.2.4 類的訪問 186
6.2.5 靜態(tài)屬性和方法 187
6.2.6 構造函數(shù)和析構函數(shù) 188
6.3 類的繼承 189
6.3.1 子類訪問父類 189
6.3.2 方法重載 190
6.3.3 使用final關鍵字 190
6.3.4 Traits機制 190
6.4 抽象類與接口 191
6.4.1 抽象類 191
6.4.2 接口 192
6.5 類的魔術方法 194
6.5.1 復制對象 194
6.5.2 方法重載 194
6.5.3 屬性重載 195
6.5.4 字符串轉換 196
6.5.5 自動加載對象 196
6.5.6 對象序列化 196
6.5.7 對象調用 197
6.6 類型判斷與引用 197
6.6.1 對象類型的判斷 197
6.6.2 通過變量引用類 198
6.6.3 引用靜態(tài)調用的類 198
6.7 實例—設計一個學生管理類 199
習題6 200
第7章 構建PHP互動網(wǎng)頁 202
7.1 PHP與表單 202
7.1.1 提交表單數(shù)據(jù) 202
7.1.2 接收表單數(shù)據(jù) 202
7.1.3 常用表單數(shù)據(jù)的驗證方法 203
7.1.4 實例—使用PHP處理表單數(shù)據(jù) 203
7.2 URL處理 206
7.2.1 獲取URL參數(shù) 206
7.2.2 解析URL 207
7.2.3 URL編解碼 207
7.3 頁面跳轉 208
7.3.1 使用header()函數(shù) 208
7.3.2 使用HTML標記 208
7.3.3 使用客戶端腳本 209
7.4 會話管理 209
7.4.1 會話的工作原理 209
7.4.2 實現(xiàn)會話 209
7.4.3 Cookie技術 212
7.5 實例—制作一個PHP互動網(wǎng)頁 216
習題7 221
第8章 數(shù)據(jù)庫基礎 222
8.1 數(shù)據(jù)庫系統(tǒng)和SQL語言 222
8.2 數(shù)據(jù)庫及其對象的創(chuàng)建 223
8.2.1 安裝MySQL 223
8.2.2 創(chuàng)建數(shù)據(jù)庫 223
8.2.3 創(chuàng)建表 224
8.2.4 創(chuàng)建表間記錄完整性 225
8.2.5 創(chuàng)建觸發(fā)器 226
8.2.6 創(chuàng)建存儲過程 227
8.3 錄入數(shù)據(jù)測試數(shù)據(jù)庫對象關系 228
8.3.1 錄入表記錄 228
8.3.2 觸發(fā)器功能測試 229
8.3.3 表間記錄完整性測試 229
8.3.4 存儲過程的功能測試 230
習題8 230
第9章 使用PHP擴展函數(shù)庫操作數(shù)據(jù)庫 232
9.1 基本原理 232
9.1.1 使用擴展函數(shù)庫操作數(shù)據(jù)庫的流程 232
9.1.2 各種DBMS的擴展函數(shù) 233
9.2 操作MySQL數(shù)據(jù)庫 233
9.2.1 連接數(shù)據(jù)庫服務器 233
9.2.2 選擇默認數(shù)據(jù)庫 233
9.2.3 執(zhí)行SQL語句 234
9.2.4 處理結果集 234
9.2.5 關閉連接 238
9.2.6 其他MySQL擴展函數(shù) 238
9.2.7 實例—操作課程表 239
9.3 操作其他數(shù)據(jù)庫 242
9.3.1 操作SQL Server 242
9.3.2 操作Oracle 247
習題9 254
第10章 使用PDO通用接口操作數(shù)據(jù)庫 256
10.1 基本原理 256
10.1.1 PDO的基本概念 256
10.1.2 PDO操作數(shù)據(jù)庫的步驟 257
10.2 操作MySQL數(shù)據(jù)庫 258
10.2.1 創(chuàng)建MySQL的PDO對象 258
10.2.2 實例—開發(fā)登錄模塊 258
10.3 基于PDO的數(shù)據(jù)庫移植 265
10.3.1 安裝SQL Server的PDO
驅動 265
10.3.2 更換MySQL為SQL Server 266
習題10 267
第11章 PHP與AJAX 268
11.1 AJAX基礎 268
11.1.1 AJAX的工作原理 268
11.1.2 AJAX初始化 269
11.1.3 發(fā)送HTTP請求 270
11.1.4 指定響應處理函數(shù) 270
11.1.5 處理服務器返回的信息 270
11.2 PHP與AJAX交互 271
11.2.1 使用GET方法 271
11.2.2 使用POST方法 273
11.2.3 實例——AJAX的應用 276
習題11 278
第2部分 實 訓
實訓1 PHP、HTML+CSS基礎知識 279
實訓1.1 基本標記 279
實訓1.2 表格 279
實訓1.3 表單 280
實訓2 PHP環(huán)境與開發(fā)入門 280
實訓2.1 環(huán)境安裝與簡單開發(fā) 280
實訓2.2 Smarty模板開發(fā) 280
實訓2.3 集成環(huán)境與項目遷移 280
實訓3 PHP基礎語法 281
實訓3.1 變量及輸出 281
實訓3.2 程序流程控制 281
實訓3.3 函數(shù)應用 281
實訓4 PHP數(shù)組與字符串 282
實訓4.1 數(shù)組處理 282
實訓4.2 字符串操作 282
實訓4.3 正則表達式 282
實訓5 PHP常用功能模塊 282
實訓5.1 文件操作 282
實訓5.2 圖形處理 282
實訓5.3 日期時間處理 283
實訓6 PHP面向對象程序設計 283
實訓7 構建PHP互動網(wǎng)頁 283
實訓8 數(shù)據(jù)庫及對象創(chuàng)建與操作 284
實訓8.1 熟悉MySQL 284
實訓8.2 創(chuàng)建數(shù)據(jù)庫和表 284
實訓8.3 創(chuàng)建和測試數(shù)據(jù)庫對象 284
實訓9 使用PHP擴展函數(shù)庫操作數(shù)據(jù)庫 285
實訓10 使用PDO通用接口操作數(shù)據(jù)庫 286
實訓11 PHP與AJAX 286
第3部分 綜合應用實訓—PHP/MySQL學生成績管理系統(tǒng)
P.1 ThinkPHP入門 287
P.1.1 ThinkPHP的安裝 287
P.1.2 ThinkPHP項目結構 290
P.1.3 一個簡單的ThinkPHP程序 293
P.2 ThinkPHP應用系統(tǒng)開發(fā) 298
P.2.1 系統(tǒng)架構 298
P.2.2 主頁設計 299
P.2.3 學生管理 301
P.2.4 成績管理 306
P.2.5 課程管理 310
P.3 自己設計實踐 312
P.3.1 課程記錄操作和查詢計算統(tǒng)計 312
P.3.2 學生課程成績信息查詢 313
第4部分 附 錄
附錄A PHP程序調試與異常處理 314
A.1 程序調試 314
A.1.1 常見的編程錯誤 314
A.1.2 PHP錯誤報告管理 315
A.1.3 PHP錯誤調試方法 315
A.2 異常處理 316
A.2.1 異常處理類 316
A.2.2 PHP的異常處理方法 317
附錄B PHP+HTML混合非框架學生成績管理系統(tǒng) 319