本書以計算機(jī)語言的學(xué)習(xí)與認(rèn)知過程為主線,以實踐為主導(dǎo),按照程序設(shè)計與編寫的思路進(jìn)行講解。首先對PHP有所認(rèn)知并搭建PHP的開發(fā)環(huán)境;隨后在實踐中學(xué)習(xí)程序設(shè)計的基本元素;在學(xué)習(xí)基本知識的過程中,逐漸引入三大結(jié)構(gòu)的概念;從Web應(yīng)用開發(fā)的需求入手,講解了PHP表單的交互與會話、數(shù)組存儲批量數(shù)據(jù),通過函數(shù)進(jìn)行程序的模塊化操作,使用正則表達(dá)式規(guī)范網(wǎng)頁數(shù)據(jù),使用文件和PHP操縱MySQL實現(xiàn)數(shù)據(jù)永久化存儲,引入面向?qū)ο蟮木幊烫岣叱绦蛟O(shè)計編寫效率;以及為了更好地處理網(wǎng)頁中的圖片,講解了PHP的圖形圖像處理;最后通過綜合實例對整本書的內(nèi)容進(jìn)行總結(jié)。本書精選大量實例貫穿知識點(diǎn)的講解,并在每個章節(jié)末配有實訓(xùn)任務(wù),突出PHP程序設(shè)計學(xué)習(xí)的實用性與可操作性。順應(yīng)“互聯(lián)網(wǎng)+”趨勢,本書提供了大量配套資源,包括源代碼、實訓(xùn)任務(wù)、PPT課件等,可登錄華信教育資源網(wǎng)(www.hxedu.com.cn)免費(fèi)注冊后下載。本書適合作為高等職業(yè)院校新一代信息技術(shù)相關(guān)專業(yè)的教材,也可作為應(yīng)用型本科PHP基礎(chǔ)課程的教材,同時本書也適合作為計算機(jī)編程愛好者的入門參考書籍,還可作為計算機(jī)培訓(xùn)機(jī)構(gòu)的培訓(xùn)教材。
王海賓,男,副教授。2009.7至今邢臺職業(yè)技術(shù)學(xué)院任教,自2006年以來長期從事軟件設(shè)計與開發(fā),每年都至少有一項企業(yè)實際項目,具有豐富的軟件設(shè)計與開發(fā)經(jīng)驗。邢臺職業(yè)技術(shù)學(xué)院首屆(2010)觀摩教學(xué)比賽一等獎(冠軍),F(xiàn)任信息工程系副主任,兼任信息商務(wù)教研室主任,兼任信息工程系教工支部書記,移動互聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)專業(yè)帶頭人。
第1章 PHP認(rèn)知與環(huán)境搭建 1
1.1 HTTP協(xié)議 1
1.1.1 HTTP協(xié)議簡介 1
1.1.2 URL 1
1.1.3 請求與應(yīng)答 2
1.2 Web相關(guān)技術(shù) 2
1.2.1 網(wǎng)站行業(yè)的細(xì)分 2
1.2.2 B/S架構(gòu) 3
1.2.3 靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁 3
1.2.4 服務(wù)器端動態(tài)網(wǎng)頁的
“3P”技術(shù) 4
1.3 Web應(yīng)用開發(fā)的黃金
組合—LAMP 5
1.3.1 Linux操作系統(tǒng) 5
1.3.2 Apache服務(wù)器 5
1.3.3 MySQL數(shù)據(jù)庫 5
1.3.4 PHP語言 6
1.3.5 從LAMP到WAMP 6
1.4 環(huán)境搭建與虛擬主機(jī)配置 6
1.4.1 基于XAMPP搭建PHP
開發(fā)環(huán)境 6
1.4.2 基于phpStudy搭建
PHP開發(fā)環(huán)境 12
1.5 編輯器與簡單的PHP程序 14
實訓(xùn)任務(wù)1 PHP認(rèn)知與環(huán)境搭建 17
第2章 PHP語法基礎(chǔ) 19
2.1 程序的結(jié)構(gòu)與編寫規(guī)范 19
2.1.1 什么是程序 19
2.1.2 程序的結(jié)構(gòu) 20
2.1.3 程序的編寫規(guī)范 20
2.2 從最簡單的程序中學(xué)習(xí)語法
常識 22
2.2.1 任務(wù)分析 22
2.2.2 相關(guān)知識 22
2.2.3 任務(wù)實現(xiàn) 25
2.3 從求圓的周長和面積中學(xué)習(xí)
變量常量 26
2.3.1 任務(wù)分析 26
2.3.2 相關(guān)知識 26
2.3.3 任務(wù)實現(xiàn) 31
2.4 從輸出學(xué)生信息表中學(xué)習(xí)
數(shù)據(jù)類型 33
2.4.1 任務(wù)分析 33
2.4.2 相關(guān)知識 33
2.4.3 任務(wù)實現(xiàn) 38
2.5 從四則運(yùn)算中學(xué)習(xí)運(yùn)算符 39
2.5.1 任務(wù)分析 39
2.5.2 相關(guān)知識 39
2.5.3 任務(wù)實現(xiàn) 47
實訓(xùn)任務(wù)2 PHP程序基本認(rèn)知 48
第3章 PHP流程結(jié)構(gòu) 50
3.1 順序結(jié)構(gòu) 50
3.2 從BMI計算器中學(xué)習(xí)分支
結(jié)構(gòu) 50
3.2.1 任務(wù)分析 51
3.2.2 相關(guān)知識 51
3.2.3 任務(wù)實現(xiàn) 62
3.3 從多名學(xué)生的BMI判定中
學(xué)習(xí)循環(huán)結(jié)構(gòu) 63
3.3.1 任務(wù)分析 63
3.3.2 相關(guān)知識 63
3.3.3 任務(wù)實現(xiàn) 73
實訓(xùn)任務(wù)3 程序邏輯處理 74
第4章 PHP表單交互與會話 79
4.1 HTML表單常用標(biāo)簽 76
4.1.1 表單的定義 76
4.1.2 表單元素 77
4.1.3 表單案例:學(xué)生信息
登記表單 80
4.2 獲取表單數(shù)據(jù) 81
4.2.1 使用post方法接收學(xué)生
信息登記表單的數(shù)據(jù) 81
4.2.2 使用get方法計算長方
形面積 83
4.2.3 isset()和empty()函數(shù) 85
4.3 從用戶登錄中學(xué)習(xí)Session的
使用 86
4.3.1 任務(wù)分析 86
4.3.2 相關(guān)知識 86
4.3.3 任務(wù)實現(xiàn) 87
4.4 從用戶注銷中學(xué)習(xí)Session的
刪除 89
4.4.1 任務(wù)分析 89
4.4.2 相關(guān)知識 90
4.4.3 任務(wù)實現(xiàn) 90
4.5 從保存登錄時間中學(xué)習(xí)
Cookie 91
4.5.1 任務(wù)分析 92
4.5.2 相關(guān)知識 92
4.5.3 任務(wù)實現(xiàn) 94
實訓(xùn)任務(wù)4 PHP表單交互與會話 96
第5章 PHP中的函數(shù) 98
5.1 從推算屬相案例中學(xué)習(xí)自定
義函數(shù) 98
5.1.1 任務(wù)分析 98
5.1.2 相關(guān)知識 99
5.1.3 任務(wù)實現(xiàn) 110
5.2 從防止SQL注入中學(xué)習(xí)字符串
處理函數(shù) 111
5.2.1 任務(wù)分析 112
5.2.2 相關(guān)知識 112
5.2.3 任務(wù)實現(xiàn) 128
實訓(xùn)任務(wù)5 PHP函數(shù)的應(yīng)用 130
第6章 PHP中的數(shù)組 132
6.1 數(shù)組的概念 132
6.1.1 什么是數(shù)組 132
6.1.2 數(shù)組的定義 133
6.2 從統(tǒng)計學(xué)生平均成績中學(xué)習(xí)
數(shù)組遍歷 138
6.2.1 任務(wù)分析 139
6.2.2 相關(guān)知識 139
6.2.3 任務(wù)實現(xiàn) 141
6.3 從學(xué)生成績排名中學(xué)習(xí)數(shù)組
排序 143
6.3.1 任務(wù)分析 143
6.3.2 相關(guān)知識 143
6.3.3 任務(wù)實現(xiàn) 147
6.4 PHP數(shù)組的常用函數(shù) 150
6.4.1 數(shù)組內(nèi)部的指針函數(shù) 150
6.4.2 查找函數(shù) 150
6.4.3 其他函數(shù) 152
實訓(xùn)任務(wù)6 PHP數(shù)組的應(yīng)用 152
第7章 面向?qū)ο缶幊?154
7.1 認(rèn)識面向?qū)ο缶幊?154
7.1.1 面向過程編程與面向
對象編程 154
7.1.2 面向?qū)ο缶幊痰奶卣?155
7.2 從聲明Person類中學(xué)習(xí)類 156
7.2.1 任務(wù)分析 156
7.2.2 相關(guān)知識 156
7.2.3 任務(wù)實現(xiàn) 157
7.3 從實例化Person類中學(xué)習(xí)
對象 158
7.3.1 任務(wù)分析 158
7.3.2 相關(guān)知識 158
7.3.3 任務(wù)實現(xiàn) 159
7.4 從賦值和銷毀中學(xué)習(xí)構(gòu)造和
析構(gòu)方法 160
7.4.1 任務(wù)分析 161
7.4.2 相關(guān)知識 161
7.4.3 任務(wù)實現(xiàn) 163
7.5 從訪問控制中學(xué)習(xí)封裝和
繼承 164
7.5.1 任務(wù)分析 165
7.5.2 相關(guān)知識 165
7.5.3 任務(wù)實現(xiàn) 176
7.6 從Person類中學(xué)習(xí)抽象類與接口 177
7.6.1 任務(wù)分析 177
7.6.2 相關(guān)知識 177
7.6.3 任務(wù)實現(xiàn) 182
7.7 從選擇中學(xué)習(xí)多態(tài) 182
7.7.1 任務(wù)分析 182
7.7.2 相關(guān)知識 183
7.7.3 任務(wù)實現(xiàn) 184
7.8 關(guān)鍵字和魔術(shù)方法的應(yīng)用 186
7.8.1 final關(guān)鍵字的應(yīng)用 186
7.8.2 static關(guān)鍵字的應(yīng)用 187
7.8.3 單態(tài)設(shè)計模式 189
7.8.4 const關(guān)鍵字的應(yīng)用 190
7.8.5 instanceof關(guān)鍵字的
應(yīng)用 191
7.8.6 克隆對象 191
7.8.7 類中通用的方法
__toString() 193
7.8.8 PHP 7新加入的方法 193
7.8.9 __call()方法的應(yīng)用 194
7.8.10 自動加載類 196
實訓(xùn)任務(wù)7 面向?qū)ο蠡A(chǔ)編程
應(yīng)用 197
第8章 正則表達(dá)式 199
8.1 從分割字符串中認(rèn)識正則表
達(dá)式 199
8.1.1 任務(wù)分析 199
8.1.2 相關(guān)知識 200
8.1.3 任務(wù)實現(xiàn) 205
8.2 正則表達(dá)式案例:驗證表單
內(nèi)容 207
8.2.1 任務(wù)分析 207
8.2.2 相關(guān)知識 207
8.2.3 任務(wù)實現(xiàn) 211
實訓(xùn)任務(wù)8 正則表達(dá)式 213
第9章 PHP中的文件操作 215
9.1 從讀寫文件中認(rèn)識簡單文件
讀寫函數(shù) 215
9.1.1 任務(wù)分析 215
9.1.2 相關(guān)知識 215
9.1.3 任務(wù)實現(xiàn) 217
9.2 從留言板案例中認(rèn)識帶鎖
讀寫文件 218
9.2.1 任務(wù)分析 218
9.2.2 相關(guān)知識 218
9.2.3 任務(wù)實現(xiàn) 224
9.3 PHP文件上傳案例:上傳
頭像 226
9.3.1 任務(wù)分析 226
9.3.2 相關(guān)知識 226
9.3.3 任務(wù)實現(xiàn) 229
實訓(xùn)任務(wù)9 PHP中的文件操作 232
第10章 PHP操縱MySQL數(shù)據(jù)庫 233
10.1 MySQL數(shù)據(jù)庫概述 233
10.1.1 MySQL數(shù)據(jù)庫 233
10.1.2 數(shù)據(jù)庫與Web開發(fā) 233
10.1.3 PHP與MySQL
數(shù)據(jù)庫 234
10.1.4 PHP訪問MySQL
數(shù)據(jù)庫的流程 234
10.2 從學(xué)生管理系統(tǒng)中學(xué)習(xí)PHP
操縱MySQL數(shù)據(jù)庫 235
10.2.1 任務(wù)分析 235
10.2.2 相關(guān)知識 236
10.2.3 任務(wù)實現(xiàn) 247
實訓(xùn)任務(wù)10 PHP操作MySQL
數(shù)據(jù)庫 253
第11章 PHP中的圖形圖像 255
11.1 處理圖像前的準(zhǔn)備 255
11.1.1 加載GD庫 255
11.1.2 PHP圖像坐標(biāo)系 256
11.1.3 指定適合的MIME
類型 256
11.2 圖像的基本操作 257
11.2.1 創(chuàng)建畫布 257
11.2.2 輸出圖像 258
11.2.3 定義顏色 258
11.2.4 釋放圖像資源 258
11.3 繪制基本圖形案例:繪制圍
棋棋盤 260
11.3.1 任務(wù)分析 260
11.3.2 相關(guān)知識 261
11.3.3 任務(wù)實現(xiàn) 272
11.4 繪制文本案例:生成驗
證碼 274
11.4.1 任務(wù)分析 274
11.4.2 相關(guān)知識 274
11.4.3 任務(wù)實現(xiàn) 278
實訓(xùn)任務(wù)11 使用PHP處理圖形
圖像 279
第12章 綜合實例:通信錄管理
系統(tǒng) 281
12.1 案例展示 281
12.2 需求分析 282
12.3 案例實現(xiàn) 283
12.3.1 準(zhǔn)備工作 283
12.3.2 數(shù)據(jù)庫設(shè)計 284
12.3.3 用戶登錄 285
12.3.4 驗證碼 287
12.3.5 用戶注冊 289
12.3.6 用戶信息完善 292
12.3.7 查看聯(lián)系人信息 294
12.3.8 分頁查詢 296
12.3.9 添加聯(lián)系人 298
12.3.10 修改聯(lián)系人 300
12.3.11 刪除聯(lián)系人 301
12.3.12 用戶退出 302
參考文獻(xiàn) 303