PHP是一種運行于服務(wù)器端并完全跨平臺的嵌入式腳本編程語言,是目前開發(fā)各類Web應(yīng)用的主流語言之一。本書站在初學(xué)者的角度,以通俗易懂的語言、豐富的圖表、實用的案例詳細介紹了PHP語言。全書共分11章:第1~7章主要介紹了Web開發(fā)概念和PHP入門、PHP基本語法、PHP流程控制和數(shù)組、PHP函數(shù)及應(yīng)用、PHP與網(wǎng)頁交互、PHP訪問MySQL數(shù)據(jù)庫、會話控制;第8~11章則圍繞PHP進階、PHP中的面向?qū)ο缶幊、PHP與MVC開發(fā)模式及課程案例等進行了介紹。
本書適用于計算機相關(guān)專業(yè)基于PHP的Web開發(fā)課程的教學(xué),也可作為基于PHP的Web應(yīng)用項目開發(fā)愛好者的參考用書?梢愿鶕(jù)學(xué)習(xí)者層次不同選擇相關(guān)能力指標、知識點進行教學(xué)和學(xué)習(xí)。
1.本書以項目為載體,將一個課程項目貫穿始終,基于構(gòu)思、設(shè)計、實施和運動態(tài)網(wǎng)頁設(shè)計與開發(fā)的基本技能,使讀者能夠熟練地利用PHP進行中等難度的動態(tài)網(wǎng)頁編程。
2.本書是講授PHP 的一線教師多年的授課及項目開發(fā)經(jīng)驗的結(jié)晶。本書配備了豐富的教學(xué)資源,包括教學(xué)課件、教學(xué)大綱、習(xí)題答案和源代碼等,讀者可在前言中看到獲取方式。
陳運軍:瀘州職業(yè)技術(shù)學(xué)院信息工程學(xué)院院長。他目前的研究興趣主要包括物聯(lián)網(wǎng)工程應(yīng)用、人工智能、信息控制系統(tǒng)等。
李洪建:碩士,山東科技職業(yè)學(xué)院副教授,山東省計算機專指委委員,曾指導(dǎo)學(xué)生獲國賽一等獎2項、國家教學(xué)成果獎1項、省教學(xué)成果獎特等獎1項和一等獎2項, 近五年主持省軟科學(xué)、省教改、省高?萍加媱濏椖6項,參與各類橫縱向課題27項。授權(quán)實用新型專利2項,軟件著作權(quán)2件。
高偉鋒:南寧職業(yè)技術(shù)學(xué)院人工智能學(xué)院副教授。2010年獲廣西大學(xué)工程碩士學(xué)位。目前研究領(lǐng)域為Web前端技術(shù)、中文自然語言處理等。
陳靜:教授,國務(wù)院特殊津貼專家。從事職業(yè)教育計算機專業(yè)教學(xué)20年,主要研究領(lǐng)域為軟件開發(fā)、測試、移動應(yīng)用軟件開發(fā)等。
趙林:廣西電力職業(yè)技術(shù)學(xué)院人工智能與信息工程學(xué)院院長,計算機科學(xué)與技術(shù)專業(yè)教授。2012年獲得廣西大學(xué)計算機學(xué)院計算機技術(shù)領(lǐng)域碩士學(xué)位。廣西電子學(xué)會專家委員會高級專家會員、廣西科技廳項目評審專家。2017年獲得國際工程師IET主任工程師資,主要研究方向為嵌入式應(yīng)用,軟件系統(tǒng)開發(fā)等。
目錄
第 1章
Web開發(fā)概念和PHP入門 1
1.1 體系結(jié)構(gòu)選擇 1
1.2 網(wǎng)站開發(fā)中常用概念介紹 2
1.3 Web工作原理 4
1.4 動態(tài)網(wǎng)站開發(fā)所需的Web構(gòu)件 5
1.5 初識PHP 10
1.5.1 什么是PHP 10
1.5.2 第 一個PHP文件 10
1.6 搭建PHP開發(fā)運行環(huán)境 11
1.6.1 XAMPP安裝 12
1.6.2 XAMPP配置和使用 15
1.6.3 WampServer的安裝使用 16
1.7 代碼編輯工具Sublime 18
1.7.1 Sublime的常用操作 18
1.7.2 在Sublime中安裝Emmet 20
1.7.3 設(shè)置文檔的自動提示與補全 25
1.8 本章習(xí)題 25
第 2章
PHP基本語法 26
2.1 將PHP嵌入HTML代碼 26
2.2 PHP程序中的注釋 27
2.3 PHP中的輸出方法 28
2.4 變量 29
2.4.1 變量的命名 30
2.4.2 變量的數(shù)據(jù)類型 30
2.4.3 變量類型的轉(zhuǎn)換 35
2.4.4 PHP對變量的操作 37
2.5 常量 39
2.5.1 常量定義 39
2.5.2 使用PHP預(yù)定義常量 40
2.6 PHP中的運算符和表達式 41
2.6.1 算術(shù)運算符 41
2.6.2 字符串運算符 41
2.6.3 賦值運算符 41
2.6.4 比較運算符 42
2.6.5 邏輯運算符 42
2.6.6 位運算符 42
2.6.7 其他運算符 43
2.6.8 表達式 43
2.7 本章小結(jié) 45
2.8 本章習(xí)題 45
第3章
PHP流程控制和數(shù)組 47
3.1 PHP中的分支結(jié)構(gòu) 47
3.1.1 單分支結(jié)構(gòu) 47
3.1.2 雙分支結(jié)構(gòu) 49
3.1.3 多分支結(jié)構(gòu) 50
3.2 PHP中的循環(huán)結(jié)構(gòu) 53
3.2.1 while語句 53
3.2.2 do…while語句 54
3.2.3 for循環(huán)語句 55
3.2.4 foreach語句 56
3.3 特殊的流程控制語句 57
3.4 PHP中的數(shù)組 59
3.4.1 數(shù)組的分類 59
3.4.2 數(shù)組的定義和遍歷 60
3.5 本章小結(jié) 67
3.6 本章習(xí)題 67
第4章
PHP函數(shù)及應(yīng)用 69
4.1 PHP函數(shù)語法 69
4.1.1 定義函數(shù)和調(diào)用函數(shù) 69
4.1.2 函數(shù)參數(shù)和返回值 71
4.1.3 使用文件包含函數(shù)組織代碼 75
4.2 PHP變量范圍 77
4.3 PHP對字符串的處理 79
4.3.1 對字符串進行分割與合并 79
4.3.2 獲取字符串子串 81
4.3.3 字符串查找 82
4.3.4 字符串替換 83
4.3.5 HTML字符串處理函數(shù) 84
4.4 用PHP獲取日期和時間 85
4.4.1 更改時區(qū) 85
4.4.2 UNIX時間戳 85
4.4.3 生成日期和時間的函數(shù) 86
4.4.4 獲取日期和時間的信息 88
4.5 PHP操作文件和目錄 90
4.5.1 打開和關(guān)閉文件 90
4.5.2 讀取文件 91
4.5.3 寫入文件 94
4.5.4 目錄操作函數(shù) 95
4.5.5 獲取路徑中的文件名和目錄名 95
4.5.6 判斷文件和目錄是否存在 96
4.5.7 刪除和復(fù)制文件 96
4.6 本章習(xí)題 96
第5章
PHP與網(wǎng)頁交互 97
5.1 PHP的預(yù)定義數(shù)組 97
5.1.1 預(yù)定義數(shù)組$_POST 98
5.1.2 預(yù)定義數(shù)組$_GET 101
5.1.3 其他的預(yù)定義數(shù)組 102
5.2 應(yīng)用實踐:獲取用戶注冊表單信息并輸出 104
5.3 文件上傳 107
5.3.1 瀏覽器端文件上傳設(shè)置 107
5.3.2 在服務(wù)器端通過PHP處理上傳文件 108
5.4 應(yīng)用實踐:注冊用戶上傳頭像 112
5.5 文件下載 113
5.6 本章小結(jié) 115
5.7 本章習(xí)題 115
第6章
PHP訪問MySQL數(shù)據(jù)庫 117
6.1 MySQL數(shù)據(jù)庫基礎(chǔ)知識 117
6.1.1 MySQL數(shù)據(jù)庫的存儲引擎 117
6.1.2 MySQL數(shù)據(jù)庫的數(shù)據(jù)類型 118
6.1.3 MySQL字符集與字符序 120
6.1.4 MySQL數(shù)據(jù)庫的SQL語法基礎(chǔ) 121
6.1.5 數(shù)據(jù)庫用戶權(quán)限管理 123
6.2 認識Navicat 124
6.3 應(yīng)用實踐:設(shè)計動漫電影信息網(wǎng)站的數(shù)據(jù)庫 132
6.4 PHP訪問MySQL數(shù)據(jù)庫的流程 138
6.5 PHP訪問MySQL數(shù)據(jù)庫的函數(shù) 139
6.5.1 連接MySQL數(shù)據(jù)庫服務(wù)器的函數(shù) 139
6.5.2 獲取MySQL錯誤信息的函數(shù) 141
6.5.3 執(zhí)行SQL語句的函數(shù) 142
6.5.4 處理結(jié)果集的函數(shù) 143
6.5.5 關(guān)閉數(shù)據(jù)庫連接的函數(shù) 147
6.6 應(yīng)用實踐:注冊用戶信息管理 148
6.7 應(yīng)用實踐:分頁 164
6.8 應(yīng)用實踐:抽取系統(tǒng)公共文件 168
6.9 本章小結(jié) 170
6.10 本章習(xí)題 170
第7章
會話控制 173
7.1 Session工作原理 173
7.2 Session的生命周期 174
7.3 操作Session的函數(shù) 175
7.4 Session配置 176
7.5 應(yīng)用實踐:保存用戶登錄信息 177
7.6 應(yīng)用實踐:登錄權(quán)限驗證 179
7.7 Cookie的使用 181
7.8 應(yīng)用實踐:自動登錄 186
7.9 Header函數(shù)和輸出緩存 188
第8章
PHP進階 191
8.1 PHP與Ajax 191
8.1.1 Ajax概述 191
8.1.2 XMLHttpRequest對象 192
8.1.3 應(yīng)用實踐:驗證用戶名是否可用 195
8.1.4 jQuery中的Ajax 198
8.2 PHP中富文本的應(yīng)用 199
8.2.1 什么是富文本 199
8.2.2 應(yīng)用實踐:使用UEditor進行新聞發(fā)布 199
8.2.3 UEditor中的上傳路徑配置 202
8.3 用PHP發(fā)送郵件 203
8.3.1 PHPMailer 203
8.3.2 應(yīng)用實踐:使用郵件找回密碼 207
8.4 用PHP生成圖表 211
8.4.1 什么是ECharts 211
8.4.2 應(yīng)用實踐:使用ECharts統(tǒng)計用戶信息 214
8.5 Excel導(dǎo)入導(dǎo)出 218
8.5.1 PHPExcel介紹 218
8.5.2 應(yīng)用實踐:使用PHPExcel進行用戶信息導(dǎo)入導(dǎo)出 219
8.5.3 使用PHPExcel的常見問題 222
8.6 本章習(xí)題 223
第9章
PHP中的面向?qū)ο缶幊?224
9.1 面向?qū)ο缶幊探榻B 224
9.1.1 什么是類 225
9.1.2 什么是對象 225
9.2 如何抽象一個類 225
9.2.1 類的聲明 226
9.2.2 成員屬性 226
9.2.3 成員方法 227
9.3 通過類實例化對象 228
9.3.1 實例化對象 228
9.3.2 對象中成員的訪問 229
9.3.3 特殊對象引用$this 230
9.3.4 構(gòu)造方法和析構(gòu)方法 232
9.4 封裝性 234
9.4.1 設(shè)置私有成員 234
9.4.2 私有成員的訪問 235
9.5 繼承性 237
9.5.1 類繼承的應(yīng)用 238
9.5.2 訪問類型控制 239
9.5.3 子類中重載父類的方法 241
9.6 本章小結(jié) 243
9.7 本章習(xí)題 243
第 10章
PHP與MVC開發(fā)模式 244
10.1 MVC模式的工作原理 244
10.2 MVC模式在項目中的應(yīng)用 244
10.2.1 階段一:構(gòu)建MVC結(jié)構(gòu) 244
10.2.2 階段二:抽取模型層業(yè)務(wù)邏輯 248
10.2.3 階段三:提取訪問網(wǎng)站的入口文件 252
10.2.4 階段四:抽取視圖層功能 252
10.3 本章小結(jié) 256
10.4 本章習(xí)題 257
第 11章
課程案例 258
11.1 使用Bootstrap美化網(wǎng)頁 258
11.1.1 用戶注冊表單頁面 260
11.1.2 用戶登錄表單頁面 262
11.1.3 管理員登錄表單頁面 264
11.1.4 用戶列表頁面 266
11.1.5 修改用戶信息頁面 267
11.2 系統(tǒng)總體項目描述 269
11.3 地區(qū)管理子系統(tǒng)的實現(xiàn) 273
11.3.1 添加地區(qū)功能 273
11.3.2 顯示地區(qū)列表功能 275
11.3.3 修改地區(qū)功能 276
11.3.4 刪除地區(qū)功能 277
11.4 動漫電影信息管理子系統(tǒng)的實現(xiàn) 279
11.4.1 添加動漫電影功能 279
11.4.2 顯示動漫電影信息列表功能 283
11.4.3 修改動漫電影信息功能 286
11.4.4 刪除動漫電影信息功能 291
11.5 前臺首頁的實現(xiàn) 291
11.5.1 網(wǎng)頁導(dǎo)航條的實現(xiàn) 291
11.5.2 用戶登錄功能 296
11.5.3 首頁主體部分的實現(xiàn) 298
11.6 前臺欄目列表頁的實現(xiàn) 301
11.7 前臺動漫電影詳細內(nèi)容頁的實現(xiàn) 304
11.8 留言管理子系統(tǒng)的實現(xiàn) 318
11.9 本章小結(jié) 321