本書是面向PHP初學(xué)者的一本入門教材,作者站在初學(xué)者的角度,以通俗易懂的語(yǔ)言、豐富的圖解、實(shí)用的案例,詳細(xì)講解PHP語(yǔ)言的基礎(chǔ)知識(shí)。
本書共12章,前11章是知識(shí)講解,內(nèi)容包括PHP開(kāi)篇、PHP語(yǔ)法基礎(chǔ)、函數(shù)、數(shù)組、錯(cuò)誤處理及調(diào)試、Web前后端數(shù)據(jù)交互、PHP操作MySQL數(shù)據(jù)庫(kù)、正則表達(dá)式、文件操作、圖像操作、面向?qū)ο缶幊蹋空露荚O(shè)有動(dòng)手實(shí)踐,用于練習(xí)和鞏固所學(xué)內(nèi)容;第12章是項(xiàng)目實(shí)戰(zhàn),綜合運(yùn)用所學(xué)知識(shí)開(kāi)發(fā)趣PHP網(wǎng)站。
本書既可作為高等教育本、專科院校計(jì)算機(jī)相關(guān)專業(yè)的PHP課程教材,也可作為廣大IT人員和編程愛(ài)好者的參考書。
1. 黑馬程序員系列教材改版,品質(zhì)保證;
2. 配套教學(xué)視頻、教學(xué)設(shè)計(jì)、教學(xué)大綱、教學(xué)PPT、練習(xí)題庫(kù)等豐富的資源。
3. 本書將章節(jié)體和案例體有機(jī)結(jié)合,全書分階段進(jìn)行案例講解,鞏固理論知識(shí),強(qiáng)化動(dòng)手能力。
黑馬程序員,傳智教育旗下高端IT品牌,成立于2006年,它是由中國(guó)Java培訓(xùn)先行者張孝祥老師發(fā)起,聯(lián)合全球的中文IT社區(qū)CSDN、中關(guān)村軟件園共同創(chuàng)辦的一家專業(yè)教育機(jī)構(gòu)。辦學(xué)至今,我們一直堅(jiān)守著為千萬(wàn)人少走彎路而著書,為中華軟件之崛起而講課的辦學(xué)理念,堅(jiān)持培養(yǎng)優(yōu)秀軟件應(yīng)用工程師的宏偉目標(biāo),在累計(jì)培養(yǎng)的十萬(wàn)余名學(xué)員中,其中90%的學(xué)員均已在北、上、廣等一線城市高薪就業(yè),特別是黑馬程序員的平均就業(yè)薪資已達(dá)到8K以上。
第 1章 PHP開(kāi)篇1
1.1 初識(shí)PHP1
1.1.1 什么是PHP1
1.1.2 PHP的發(fā)展歷史2
1.1.3 PHP的特點(diǎn)3
1.2 Visual Studio Code編輯器3
1.2.1 Visual Studio Code概述3
1.2.2 下載和安裝Visual Studio Code4
1.2.3 安裝中文語(yǔ)言擴(kuò)展6
1.3 PHP開(kāi)發(fā)環(huán)境搭建7
1.3.1 Apache的安裝7
1.3.2 PHP的安裝10
1.4 Web服務(wù)器配置14
1.4.1 Apache常用的配置項(xiàng)14
1.4.2 PHP常用的配置項(xiàng)15
1.4.3 虛擬主機(jī)配置15
1.4.4 訪問(wèn)權(quán)限控制16
1.4.5 分布式配置文件17
1.4.6 目錄瀏覽功能17
1.4.7 自定義錯(cuò)誤頁(yè)面18
1.5 編寫PHP程序18
動(dòng)手實(shí)踐:PHP代碼嵌入HTML20
本章小結(jié)21
課后練習(xí)21
第 2章 PHP語(yǔ)法基礎(chǔ)23
2.1 基本語(yǔ)法23
2.1.1 PHP標(biāo)記23
2.1.2 注釋24
2.1.3 輸出語(yǔ)句25
2.1.4 標(biāo)識(shí)符25
2.1.5 關(guān)鍵字25
2.2 變量、常量和表達(dá)式26
2.2.1 變量26
2.2.2 可變變量27
2.2.3 常量27
2.2.4 預(yù)定義常量28
2.2.5 表達(dá)式29
2.3 數(shù)據(jù)類型29
2.3.1 常用的數(shù)據(jù)類型29
2.3.2 數(shù)據(jù)類型檢測(cè)32
2.3.3 數(shù)據(jù)類型轉(zhuǎn)換33
2.4 運(yùn)算符34
2.4.1 算術(shù)運(yùn)算符34
2.4.2 賦值運(yùn)算符35
2.4.3 比較運(yùn)算符35
2.4.4 三元運(yùn)算符36
2.4.5 邏輯運(yùn)算符36
2.4.6 遞增 遞減運(yùn)算符37
2.4.7 字符串拼接運(yùn)算符37
2.4.8 位運(yùn)算符37
2.4.9 錯(cuò)誤控制運(yùn)算符39
2.4.10 運(yùn)算符優(yōu)先級(jí)39
2.5 流程控制40
2.5.1 分支結(jié)構(gòu)40
2.5.2 循環(huán)結(jié)構(gòu)43
2.5.3 循環(huán)嵌套45
2.5.4 跳轉(zhuǎn)語(yǔ)句46
2.5.5 流程控制替代語(yǔ)句47
2.6 文件包含語(yǔ)句48
2.6.1 include和require48
2.6.2 include_once和require_once50
動(dòng)手實(shí)踐1:表格生成器51
動(dòng)手實(shí)踐2:九九乘法表53
本章小結(jié)54
課后練習(xí)54
第3章 函數(shù)56
3.1 函數(shù)的定義與調(diào)用56
3.1.1 初識(shí)函數(shù)56
3.1.2 設(shè)置函數(shù)的參數(shù)57
3.1.3 函數(shù)中變量的作用域58
3.2 函數(shù)的嵌套調(diào)用59
3.2.1 嵌套調(diào)用59
3.2.2 遞歸調(diào)用60
3.3 函數(shù)的高級(jí)應(yīng)用61
3.3.1 靜態(tài)變量61
3.3.2 可變函數(shù)61
3.3.3 回調(diào)函數(shù)62
3.3.4 匿名函數(shù)62
3.4 PHP的內(nèi)置函數(shù)63
3.4.1 字符串函數(shù)63
3.4.2 數(shù)學(xué)函數(shù)65
3.4.3 時(shí)間和日期函數(shù)66
3.5 PHP手冊(cè)的使用67
動(dòng)手實(shí)踐:制作年歷70
本章小結(jié)72
課后練習(xí)72
第4章 數(shù)組74
4.1 初識(shí)數(shù)組74
4.2 數(shù)組的基本使用75
4.2.1 定義數(shù)組75
4.2.2 訪問(wèn)數(shù)組76
4.2.3 遍歷數(shù)組77
4.2.4 刪除數(shù)組78
4.2.5 數(shù)組運(yùn)算符78
4.3 數(shù)組查找79
4.3.1 順序查找法79
4.3.2 二分查找法80
4.4 數(shù)組排序81
4.4.1 冒泡排序81
4.4.2 選擇排序82
4.4.3 快速排序83
4.4.4 插入排序84
4.5 常用的數(shù)組函數(shù)85
4.5.1 指針操作函數(shù)85
4.5.2 元素操作函數(shù)86
4.5.3 數(shù)組排序函數(shù)86
4.5.4 數(shù)組檢索函數(shù)87
4.5.5 其他數(shù)組函數(shù)87
4.6 數(shù)組與字符串之間的轉(zhuǎn)換88
4.6.1 字符串轉(zhuǎn)換成數(shù)組88
4.6.2 數(shù)組轉(zhuǎn)換成字符串89
動(dòng)手實(shí)踐:找猴王游戲89
本章小結(jié)90
課后練習(xí)90
第5章 錯(cuò)誤處理及調(diào)試92
5.1 錯(cuò)誤處理概述92
5.1.1 常見(jiàn)的錯(cuò)誤類型92
5.1.2 常見(jiàn)的錯(cuò)誤級(jí)別93
5.2 錯(cuò)誤處理方式94
5.2.1 顯示錯(cuò)誤報(bào)告94
5.2.2 記錄錯(cuò)誤日志96
5.2.3 手動(dòng)觸發(fā)錯(cuò)誤96
5.2.4 自定義錯(cuò)誤處理函數(shù)97
5.3 Xdebug程序調(diào)試工具98
動(dòng)手實(shí)踐:獲取PHP腳本運(yùn)行信息100
本章小結(jié)102
課后練習(xí)102
第6章 Web前后端數(shù)據(jù)交互104
6.1 HTTP104
6.1.1 什么是HTTP104
6.1.2 HTTP版本105
6.1.3 請(qǐng)求消息106
6.1.4 查看請(qǐng)求消息109
6.1.5 響應(yīng)消息110
6.1.6 查看響應(yīng)消息112
6.2 表單113
6.2.1 表單的組成113
6.2.2 表單數(shù)據(jù)交互115
6.2.3 表單提交數(shù)組116
6.2.4 HTML特殊字符處理117
6.3 Cookie技術(shù)118
6.3.1 Cookie簡(jiǎn)介118
6.3.2 Cookie的使用119
6.3.3 Cookie的保存方式121
6.4 Session技術(shù)121
6.4.1 Session簡(jiǎn)介121
6.4.2 Session基本使用122
6.4.3 Session常用的配置123
6.5 cURL擴(kuò)展124
6.5.1 什么是cURL擴(kuò)展124
6.5.2 使用cURL擴(kuò)展發(fā)送請(qǐng)求124
6.6 輸出緩沖126
6.6.1 什么是輸出緩沖126
6.6.2 輸出緩沖函數(shù)128
動(dòng)手實(shí)踐1:用戶登錄與退出129
動(dòng)手實(shí)踐2:Web表單生成器130
本章小結(jié)131
課后練習(xí)131
第7章 PHP操作MySQL數(shù)據(jù)庫(kù)133
7.1 什么是MySQL133
7.2 MySQL的安裝和登錄134
7.2.1 安裝MySQL134
7.2.2 登錄MySQL135
7.3 MySQL的使用135
7.3.1 數(shù)據(jù)庫(kù)操作136
7.3.2 數(shù)據(jù)表操作136
7.3.3 數(shù)據(jù)操作137
7.4 PHP中的數(shù)據(jù)庫(kù)擴(kuò)展138
7.5 MySQLi擴(kuò)展的使用138
7.5.1 開(kāi)啟MySQLi擴(kuò)展139
7.5.2 MySQLi擴(kuò)展的常用函數(shù)139
7.5.3 連接數(shù)據(jù)庫(kù)139
7.5.4 執(zhí)行SQL語(yǔ)句141
7.5.5 處理結(jié)果集141
7.6 預(yù)處理操作143
7.6.1 什么是預(yù)處理143
7.6.2 實(shí)現(xiàn)預(yù)處理操作的常用函數(shù)143
動(dòng)手實(shí)踐:許愿墻145
本章小結(jié)146
課后練習(xí)146
第8章 正則表達(dá)式148
8.1 初識(shí)正則表達(dá)式148
8.1.1 什么是正則表達(dá)式148
8.1.2 正則表達(dá)式的語(yǔ)法格式149
8.1.3 如何使用正則表達(dá)式149
8.2 元字符150
8.2.1 定位符150
8.2.2 中括號(hào)、連字符和反義符150
8.2.3 反斜線151
8.2.4 點(diǎn)字符和限定符152
8.2.5 豎線153
8.2.6 小括號(hào)153
8.3 模式修飾符154
8.4 正則表達(dá)式常用函數(shù)155
8.4.1 preg_grep()函數(shù)155
8.4.2 preg_replace()函數(shù)155
8.4.3 preg_split()函數(shù)157
動(dòng)手實(shí)踐:正則表達(dá)式表單驗(yàn)證158
本章小結(jié)160
課后練習(xí)160
第9章 文件操作161
9.1 文件基本操作161
9.1.1 讀取文件161
9.1.2 寫入文件163
9.1.3 重命名、復(fù)制和刪除文件164
9.1.4 文件類型和屬性165
9.1.5 創(chuàng)建、刪除和遍歷目錄167
9.1.6 路徑解析168
9.2 文件進(jìn)階操作169
9.2.1 文件指針169
9.2.2 目錄句柄172
9.2.3 資源流173
9.2.4 文件上傳174
動(dòng)手實(shí)踐:文件存儲(chǔ)系統(tǒng)175
本章小結(jié)178
課后練習(xí)178
第 10章 圖像操作179
10.1 PHP圖像基礎(chǔ)知識(shí)179
10.1.1 GD庫(kù)擴(kuò)展179
10.1.2 常見(jiàn)的圖像格式180
10.2 圖像的常見(jiàn)操作181
10.2.1 繪制圖像快速入門181
10.2.2 圖像的基本操作181
10.2.3 繪制基本形狀184
10.2.4 繪制文本186
10.3 圖像的高級(jí)處理188
10.3.1 圖像疊加與縮放189
10.3.2 圖像過(guò)濾191
動(dòng)手實(shí)踐:在線相冊(cè)192
本章小結(jié)193
課后練習(xí)193
第 11章 面向?qū)ο缶幊?95
11.1 初識(shí)面向?qū)ο?95
11.1.1 面向過(guò)程與面向?qū)ο?96
11.1.2 面向?qū)ο笾械念惻c對(duì)象196
11.2 類與對(duì)象的使用197
11.2.1 類的定義和實(shí)例化197
11.2.2 類成員198
11.2.3 可變類與可變類成員199
11.2.4 訪問(wèn)控制修飾符199
11.2.5 對(duì)象的鏈?zhǔn)秸{(diào)用200
11.2.6 對(duì)象的比較200
11.2.7 對(duì)象的淺復(fù)制和克隆200
11.3 魔術(shù)方法201
11.3.1 常見(jiàn)的魔術(shù)方法201
11.3.2 構(gòu)造方法202
11.3.3 析構(gòu)方法202
11.4 類常量與靜態(tài)成員204
11.4.1 類常量204
11.4.2 靜態(tài)成員204
11.5 面向?qū)ο笕筇匦?05
11.6 封裝與繼承205
11.6.1 封裝205
11.6.2 繼承206
11.6.3 重寫207
11.6.4 靜態(tài)延遲綁定208
11.6.5 final關(guān)鍵字209
11.7 Trait代碼復(fù)用209
11.7.1 什么是Trait209
11.7.2 解決Trait成員同名問(wèn)題210
11.7.3 修改Trait中的方法的訪問(wèn)
控制修飾符210
11.7.4 Trait同名成員的優(yōu)先級(jí)211
11.8 抽象類、抽象方法與接口212
11.8.1 抽象類與抽象方法212
11.8.2 接口213
11.9 多態(tài)與類型約束213
11.9.1 多態(tài)214
11.9.2 類型約束214
11.10 設(shè)計(jì)模式215
11.10.1 單例模式215
11.10.2 工廠模式216
11.11 MySQLi擴(kuò)展面向?qū)ο笳Z(yǔ)法216
11.11.1 MySQLi擴(kuò)展面向?qū)ο蠡?br />語(yǔ)法216
11.11.2 預(yù)處理和綁定參數(shù)217
動(dòng)手實(shí)踐:Session入庫(kù)218
本章小結(jié)220
課后練習(xí)221
第 12章 項(xiàng)目實(shí)戰(zhàn)趣PHP
網(wǎng)站222
12.1 項(xiàng)目展示222
12.2 項(xiàng)目開(kāi)發(fā)說(shuō)明231
本章小結(jié)232