PHP語言易學(xué)易用,功能強(qiáng)大,跨平臺運(yùn)行,已成為廣泛使用的Web服務(wù)器端應(yīng)用程序開發(fā)語言之一。JavaScript是Web前端開發(fā)的編程語言,以JavaScript為基礎(chǔ)的jQuery、Vue.js等Web前端開發(fā)框架,也受到廣大程序員的青睞,成為目前流行的Web前端開發(fā)框架。目前市場上有關(guān)PHP的教材較多,但是將PHP和jQuery、Vue.js等Web前端開發(fā)框架整合在一起的教材比較少。因此,作者結(jié)合多年以來的軟件開發(fā)經(jīng)驗(yàn)和教學(xué)經(jīng)驗(yàn),編寫了本書。
全書共分為12章,主要內(nèi)容包括PHP入門和開發(fā)環(huán)境構(gòu)建、PHP語言基礎(chǔ)、PHP常用內(nèi)置函數(shù)、PHP面向?qū)ο缶幊、PHP與瀏覽器交互編程、PHP訪問MySQL數(shù)據(jù)庫、JavaScript程序設(shè)計(jì)、jQuery和jQuery EasyUI框架、AJAX技術(shù)和PHP的結(jié)合、Vue.js框架基礎(chǔ)等知識,第11、12章通過課堂考勤系統(tǒng)、信息管理系統(tǒng)兩個(gè)應(yīng)用系統(tǒng)案例,分別介紹了PHP與jQuery EasyUI結(jié)合、PHP與Vue.js結(jié)合,完成Web應(yīng)用網(wǎng)站的開發(fā)過程。通過模仿這兩個(gè)應(yīng)用系統(tǒng),讀者可以快速開發(fā)出其他Web應(yīng)用系統(tǒng)。
本書內(nèi)容豐富,涉及面廣,結(jié)構(gòu)嚴(yán)謹(jǐn),強(qiáng)調(diào)知識與實(shí)踐相結(jié)合。本書為微課視頻版教材,各章節(jié)主要內(nèi)容都配備了相應(yīng)的微課視頻,視頻總時(shí)長為1000分鐘。全書提供了大量實(shí)例,每章后面附有上機(jī)實(shí)踐題和習(xí)題,有助于讀者鞏固所學(xué)知識,提高開發(fā)實(shí)踐技能,達(dá)到學(xué)以致用的目的。
本書配套資源豐富,包括教學(xué)大綱、教學(xué)課件、電子教案、習(xí)題答案、程序源碼和教學(xué)進(jìn)度表。資源下載提示
課件等資源: 掃描封底的課件下載二維碼,在公眾號書圈下載。
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
視頻等資源: 掃描封底刮刮卡中的二維碼,再掃描書中相應(yīng)章節(jié)中的二維碼,可以在線學(xué)習(xí)。
本書適合作為高等院校計(jì)算機(jī)、軟件工程、電子商務(wù)等專業(yè)的Web應(yīng)用程序設(shè)計(jì)課程的教材,也可以作為PHP愛好者的學(xué)習(xí)參考書。
本書第1章、第2章、第5章、第9~12章由徐輝編寫,第3章、第4章、第6章、第8章由盧守東編寫,第7章由蔣曹清和徐輝編寫。全書后由徐輝統(tǒng)稿。
本書在編寫過程中,得到作者所在單位和清華大學(xué)出版社的大力支持與幫助,在此一并表示衷心的感謝。
由于作者水平有限,時(shí)間倉促,書中難免存在不足之處,歡迎廣大同行和讀者批評指正。
作者2021年5月
第1章
PHP入門和開發(fā)環(huán)境構(gòu)建1
1.1Web應(yīng)用程序工作原理1
1.1.1Web體系結(jié)構(gòu)1
1.1.2動態(tài)Web的工作模式2
1.2PHP概述5
1.3PHP開發(fā)環(huán)境的構(gòu)建6
1.3.1下載和安裝XAMPP軟件包6
1.3.2啟動和停止服務(wù)7
1.3.3測試PHP8
1.3.4修改服務(wù)器的配置文件8
1.4PHP程序的開發(fā)過程10
1.4.1在Dreamweaver CC中編輯PHP程序10
1.4.2運(yùn)行PHP程序10
1.5上機(jī)實(shí)踐11
習(xí)題111
第2章
PHP語言基礎(chǔ)13
2.1PHP程序基本語法13
2.2PHP數(shù)據(jù)類型14
2.2.1標(biāo)量數(shù)據(jù)類型14
2.2.2復(fù)合數(shù)據(jù)類型16
2.2.3特殊數(shù)據(jù)類型16
2.3常量和變量16
2.3.1常量16
2.3.2變量18
2.4運(yùn)算符和表達(dá)式18
2.4.1運(yùn)算符19
2.4.2運(yùn)算符優(yōu)先級22
2.5PHP流程控制語句22
2.5.1條件語句23
2.5.2循環(huán)語句25
2.5.3跳轉(zhuǎn)語句27
2.6PHP數(shù)組28
2.6.1創(chuàng)建一維數(shù)組28
2.6.2創(chuàng)建二維數(shù)組29
2.6.3訪問數(shù)組元素和遍歷數(shù)組30
2.6.4常用的數(shù)組操作函數(shù)31
2.7自定義函數(shù)及其使用33
2.7.1自定義函數(shù)的定義33
2.7.2自定義函數(shù)的調(diào)用33
2.7.3自定義函數(shù)的參數(shù)傳遞34
2.7.4變量的作用域35
2.8引用文件36
2.9上機(jī)實(shí)踐38
習(xí)題238
第3章
PHP常用內(nèi)置函數(shù)41
3.1數(shù)學(xué)函數(shù)41
3.2字符串處理函數(shù)45
3.3日期和時(shí)間處理函數(shù)49
3.4文件操作函數(shù)54
3.5檢測函數(shù)63
3.6上機(jī)實(shí)踐67
習(xí)題368
第4章
PHP面向?qū)ο缶幊?9
4.1面向?qū)ο缶幊痰幕A(chǔ)知識69
4.1.1面向?qū)ο缶幊痰幕靖拍?9
4.1.2面向?qū)ο缶幊痰闹饕卣?0
4.2PHP面向?qū)ο缶幊痰幕炯夹g(shù)71
4.2.1類的創(chuàng)建71
4.2.2對象的使用73
4.2.3構(gòu)造函數(shù)的使用74
4.2.4析構(gòu)函數(shù)的使用75
4.2.5類屬性的訪問控制76
4.2.6類方法的訪問控制79
4.3PHP面向?qū)ο缶幊痰母呒壖夹g(shù)81
4.3.1類的繼承81
4.3.2方法的重載85
4.3.3對象的克隆87
4.3.4對象的串行化88
4.3.5靜態(tài)成員的使用90
4.3.6抽象方法與抽象類的使用92
4.3.7接口的使用93
4.3.8類方法的調(diào)用處理95
4.3.9類文件的自動加載96
4.4上機(jī)實(shí)踐97
習(xí)題497
第5章
PHP與瀏覽器交互編程99
5.1Web表單數(shù)據(jù)的提交99
5.1.1使用GET方式提交表單數(shù)據(jù)99
5.1.2使用POST方式提交表單數(shù)據(jù)101
5.1.3兩種提交方式的差別102
5.2PHP接收Web表單數(shù)據(jù)102
5.2.1利用$_GET全局變量接收表單數(shù)據(jù)102
5.2.2利用$_POST全局變量接收表單數(shù)據(jù)102
5.2.3利用$_REQUEST全局變量接收表單數(shù)據(jù)103
5.3文件上傳105
5.3.1上傳文件的設(shè)置105
5.3.2$_FILES全局變量105
5.3.3文件上傳的實(shí)現(xiàn)106
5.4網(wǎng)頁重定向109
5.5PHP的Session會話112
5.5.1Session概述112
5.5.2Session的配置113
5.5.3啟動Session114
5.5.4使用Session115
5.5.5刪除和銷毀Session116
5.5.6Session應(yīng)用實(shí)例118
5.6PHP的Cookie技術(shù)122
5.6.1Cookie概述122
5.6.2創(chuàng)建Cookie123
5.6.3讀取Cookie125
5.6.4刪除Cookie126
5.6.5Cookie數(shù)組126
5.6.6Cookie應(yīng)用實(shí)例127
5.7上機(jī)實(shí)踐130
習(xí)題5131
第6章
PHP訪問MySQL數(shù)據(jù)庫134
6.1MySQL的應(yīng)用基礎(chǔ)134
6.1.1MySQL的啟動與關(guān)閉134
6.1.2MySQL數(shù)據(jù)庫的管理134
6.1.3常用的SQL語句144
6.2PHP訪問MySQL數(shù)據(jù)庫的基本技術(shù)146
6.2.1基本步驟146
6.2.2建立與數(shù)據(jù)庫服務(wù)器的連接146
6.2.3選擇數(shù)據(jù)庫148
6.2.4設(shè)置字符集149
6.2.5執(zhí)行數(shù)據(jù)庫操作149
6.2.6關(guān)閉與數(shù)據(jù)庫服務(wù)器的連接161
6.3PHP訪問MySQL數(shù)據(jù)庫的綜合實(shí)例162
6.4上機(jī)實(shí)踐167
習(xí)題6167
第7章
JavaScript程序設(shè)計(jì)169
7.1JavaScript概述169
7.1.1JavaScript的起源169
7.1.2JavaScript的主要特點(diǎn)170
7.2在HTML文檔中使用JavaScript程序170
7.2.1在網(wǎng)頁中直接嵌入JavaScript程序171
7.2.2在網(wǎng)頁中鏈接外部JavaScript文件171
7.2.3將JavaScript作為HTML元素的屬性值來使用172
7.3JavaScript語言基礎(chǔ)173
7.3.1數(shù)據(jù)類型173
7.3.2變量174
7.3.3運(yùn)算符和表達(dá)式175
7.4JavaScript流程控制語句177
7.4.1條件分支語句177
7.4.2循環(huán)語句179
7.4.3跳轉(zhuǎn)語句181
7.5JavaScript函數(shù)181
7.5.1定義自定義函數(shù)182
7.5.2調(diào)用自定義函數(shù)182
7.6JavaScript內(nèi)置對象183
7.6.1String對象183
7.6.2Math對象184
7.6.3Date對象186
7.7瀏覽器對象模型188
7.7.1window對象188
7.7.2location對象192
7.8文檔對象模型193
7.8.1DOM概述193
7.8.2document對象194
7.8.3form對象195
7.8.4引用HTML元素對象196
7.9JavaScript事件處理197
7.9.1HTML的常用事件197
7.9.2事件處理編程197
7.9.3表單事件處理198
7.10上機(jī)實(shí)踐200
習(xí)題7200
第8章
jQuery和jQuery EasyUI框架203
8.1jQuery入門203
8.1.1jQuery概述203
8.1.2jQuery的下載204
8.1.3jQuery的使用205
8.2jQuery選擇器207
8.2.1基本選擇器207
8.2.2層次選擇器209
8.2.3表單選擇器212
8.2.4過濾選擇器216
8.3jQuery元素操作220
8.3.1元素值的獲取與設(shè)置220
8.3.2元素內(nèi)容的獲取與設(shè)置222
8.3.3元素屬性的獲取與設(shè)置224
8.3.4元素的插入226
8.3.5元素的刪除228
8.3.6元素的遍歷229
8.4jQuery事件處理231
8.4.1jQuery常用事件231
8.4.2jQuery事件方法232
8.4.3jQuery事件的綁定、解綁與觸發(fā)234
8.5jQuery EasyUI基本應(yīng)用237
8.5.1jQuery EasyUI簡介237
8.5.2jQuery EasyUI基本用法238
8.5.3利用jQuery EasyUI訪問MySQL數(shù)據(jù)庫243
8.6上機(jī)實(shí)踐246
習(xí)題8246
第9章
AJAX技術(shù)和PHP的結(jié)合248
9.1AJAX技術(shù)的編程模型248
9.1.1創(chuàng)建XMLHttpRequest對象248
9.1.2向Web服務(wù)器發(fā)送HTTP請求249
9.1.3接收Web服務(wù)器數(shù)據(jù)250
9.2基于jQuery的AJAX編程252
9.2.1load()方法252
9.2.2$.get()方法253
9.2.3$.post()方法254
9.2.4$.getJSON方法255
9.2.5$.ajax()方法257
9.3AJAX異步訪問MySQL數(shù)據(jù)庫259
9.4結(jié)合jQuery EasyUI和AJAX訪問MySQL數(shù)據(jù)庫261
9.4.1用AJAX方式驗(yàn)證和登錄系統(tǒng)實(shí)例261
9.4.2結(jié)合jQuery EasyUI和AJAX訪問MySQL數(shù)
據(jù)庫實(shí)例262
9.5上機(jī)實(shí)踐264
習(xí)題9264
第10章
Vue.js框架基礎(chǔ)266
10.1Vue.js使用入門266
10.1.1Vue.js概述266
10.1.2下載和使用Vue.js267
10.2Vue數(shù)據(jù)綁定268
10.2.1Vue實(shí)例、數(shù)據(jù)和方法268
10.2.2插值表達(dá)式270
10.2.3Vue屬性綁定271
10.2.4Vue雙向數(shù)據(jù)綁定272
10.2.5Vue計(jì)算屬性272
10.2.6Vue生命周期275
10.3指令276
10.3.1條件渲染指令277
10.3.2列表渲染vfor指令278
10.4事件處理280
10.4.1von指令280
10.4.2事件修飾符281
10.5表單控件與vmodel指令283
10.5.1vmodel指令基本用法283
10.5.2vmodel修飾符286
10.6組件286
10.6.1組件的注冊和使用287
10.6.2用props選項(xiàng)向子組件傳遞數(shù)據(jù)289
10.6.3子組件向父組件傳遞數(shù)據(jù)290
10.6.4用slot分發(fā)內(nèi)容292
10.7Vue.js過渡和動畫效果295
10.7.1使用CSS過渡實(shí)現(xiàn)動畫295
10.7.2使用第三方animate.css庫實(shí)現(xiàn)動畫298
10.7.3結(jié)合JavaScript與Velocity.js庫實(shí)現(xiàn)動畫299
10.7.4多個(gè)元素或組件的過渡301
10.7.5列表過渡304
10.8自定義指令306
10.8.1自定義全局指令306
10.8.2自定義局部指令307
10.9Vue.js路由308
10.9.1路由的加載和基本用法308
10.9.2動態(tài)路由和參數(shù)傳遞310
10.9.3命名路由和命名視圖312
10.10Vue.js的AJAX314
10.10.1安裝和引入axios314
10.10.2axios的使用方法315
10.11上機(jī)實(shí)踐317
習(xí)題10321
第11章
jQuery項(xiàng)目實(shí)戰(zhàn)課堂考勤系統(tǒng)的開發(fā)325
11.1項(xiàng)目介紹325
11.2PHP網(wǎng)站環(huán)境326
11.3數(shù)據(jù)庫設(shè)計(jì)326
11.4后臺管理子系統(tǒng)329
11.4.1登錄329
11.4.2后臺管理首頁面329
11.4.3班級管理330
11.4.4課程管理331
11.4.5學(xué)生管理332
11.4.6教師管理333
11.4.7選課管理334
11.4.8清空數(shù)據(jù)335
11.4.9填寫授課時(shí)間記錄335
11.4.10在線點(diǎn)名337
11.4.11查詢考勤情況338
11.4.12考勤統(tǒng)計(jì)338
11.5學(xué)生端功能339
11.5.1學(xué)生登錄339
11.5.2上課簽到339
11.5.3下課簽離339
11.5.4考勤查詢340
11.5.5修改密碼341
11.6上機(jī)實(shí)踐341
第12章
Vue項(xiàng)目實(shí)戰(zhàn)信息管理系統(tǒng)的開發(fā)342
12.1項(xiàng)目介紹342
12.2后端PHP網(wǎng)站343
12.2.1PHP網(wǎng)站環(huán)境343
12.2.2數(shù)據(jù)庫設(shè)計(jì)343
12.2.3信息管理服務(wù)程序344
12.3構(gòu)建Vue項(xiàng)目開發(fā)環(huán)境345
12.4使用Vue.js開發(fā)信息管理后臺子系統(tǒng)346
12.4.1用VueCLI腳手架工具創(chuàng)建后臺管理項(xiàng)目346
12.4.2配置Vue路由和Vuex348
12.4.3前端API程序350
12.4.4登錄頁面350
12.4.5后臺首頁面351
12.4.6用戶管理頁面352
12.4.7部門管理頁面353
12.4.8信息類別管理頁面354
12.4.9信息管理頁面355
12.5使用Vue.js開發(fā)信息瀏覽前臺子系統(tǒng)357
12.5.1創(chuàng)建信息瀏覽前臺子系統(tǒng)項(xiàng)目357
12.5.2API服務(wù)程序設(shè)計(jì)357
12.5.3信息瀏覽前臺頁面358
12.6上機(jī)實(shí)踐359
參考文獻(xiàn)360