1.1 Web概述 1

1.1.1 Web應(yīng)用的優(yōu)勢 2

1.1.2 Web 2.0時(shí)代的互聯(lián)網(wǎng) 3

1.1.3 Web開發(fā)標(biāo)準(zhǔn) 4

1.1.4 認(rèn)識(shí)腳本語言 5

1.2 動(dòng)態(tài)網(wǎng)站開發(fā)所需的Web構(gòu)件 5" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 營銷百科 > 細(xì)說PHP(第4版)目錄

細(xì)說PHP(第4版)目錄

時(shí)間:2023-06-11 11:54:01 | 來源:營銷百科

時(shí)間:2023-06-11 11:54:01 來源:營銷百科

細(xì)說PHP(第4版)目錄:第1章 LAMP網(wǎng)站構(gòu)建 1

1.1 Web概述 1

1.1.1 Web應(yīng)用的優(yōu)勢 2

1.1.2 Web 2.0時(shí)代的互聯(lián)網(wǎng) 3

1.1.3 Web開發(fā)標(biāo)準(zhǔn) 4

1.1.4 認(rèn)識(shí)腳本語言 5

1.2 動(dòng)態(tài)網(wǎng)站開發(fā)所需的Web構(gòu)件 5

1.2.1 客戶端瀏覽器 6

1.2.2 超文本標(biāo)記語言(HTML) 7

1.2.3 層疊樣式表(CSS) 8

1.2.4 客戶端腳本編程語言JavaScript 8

1.2.5 Web服務(wù)器 9

1.2.6 服務(wù)器端編程語言 10

1.2.7 數(shù)據(jù)庫管理系統(tǒng) 10

1.3 幾種主流的Web應(yīng)用程序平臺(tái) 11

1.3.1 Web應(yīng)用程序開發(fā)平臺(tái)對比分析 11

1.3.2 動(dòng)態(tài)網(wǎng)站開發(fā)平臺(tái)技術(shù)比較 12

1.4 HTTP協(xié)議與Web的關(guān)系 13

1.4.1 HTTP協(xié)議概述 13

1.4.2 HTTP協(xié)議結(jié)構(gòu) 14

1.4.3 HTTP請求消息 15

1.4.4 HTTP響應(yīng)消息 15

1.4.5 HTTPS是什么 16

1.4.6 URL概述 16

1.5 Web的工作原理 17

1.5.1 情景1:不帶應(yīng)用程序服務(wù)器和數(shù)據(jù)庫的服務(wù)器 17

1.5.2 情景2:帶應(yīng)用程序服務(wù)器的Web服務(wù)器 18

1.5.3 情景3:瀏覽器訪問服務(wù)器端的數(shù)據(jù)庫 19

1.6 LAMP網(wǎng)站開發(fā)組合概述 19

1.6.1 Linux操作系統(tǒng) 20

1.6.2 Web服務(wù)器Apache 20

1.6.3 MySQL數(shù)據(jù)庫管理系統(tǒng) 20

1.6.4 PHP后臺(tái)腳本編程語言 21

1.6.5 LAMP的發(fā)展趨勢 21

1.6.6 Web的未來發(fā)展 21

1.7 小結(jié) 22

第2章 PHP的應(yīng)用與發(fā)展 23

2.1 PHP是什么 23

2.1.1 從認(rèn)識(shí)PHP開始 23

2.1.2 PHP都能做什么 24

2.2 PHP的應(yīng)用 26

2.2.1 開發(fā)網(wǎng)站和移動(dòng)網(wǎng)站的應(yīng)用 26

2.2.2 在企業(yè)內(nèi)部信息化系統(tǒng)中的應(yīng)用 27

2.2.3 在App接口開發(fā)方面的應(yīng)用 27

2.2.4 對微信公眾平臺(tái)二次開發(fā)的應(yīng)用 28

2.2.5 微信小程序開發(fā)應(yīng)用 29

2.2.6 PHP在其他方面的應(yīng)用 29

2.3 PHP的開發(fā)優(yōu)勢 29

2.3.1 簡單易學(xué) 30

2.3.2 開發(fā)效率高 30

2.3.3 開發(fā)成本低 30

2.3.4 程序執(zhí)行效率高 30

2.3.5 安全性良好 31

2.3.6 功能強(qiáng)大 31

2.3.7 可選擇性多 31

2.4 PHP的發(fā)展 31

2.4.1 PHP的誕生 31

2.4.2 PHP的迭代過程 32

2.4.3 PHP的現(xiàn)在 33

2.4.4 PHP的未來 33

2.5 如何學(xué)習(xí)PHP 34

2.5.1 確定學(xué)習(xí)的目標(biāo) 34

2.5.2 PHP學(xué)習(xí)線路圖 34

2.5.3 堅(jiān)持動(dòng)手實(shí)驗(yàn) 36

2.5.4 Bug解決之道 36

2.5.5 看教學(xué)視頻,讓學(xué)習(xí)變得簡單 37

2.5.6 優(yōu)秀的Web程序員是怎樣練成的 37

2.6 小結(jié) 39

第3章 從搭建你的PHP開發(fā)環(huán)境開始 40

3.1 幾種常見的PHP環(huán)境安裝方式 40

3.1.1 在Linux系統(tǒng)上以源代碼包的方式安裝環(huán)境 40

3.1.2 在Windows系統(tǒng)上安裝Web工作環(huán)境 41

3.1.3 搭建學(xué)習(xí)型的PHP工作環(huán)境 41

3.2 環(huán)境安裝對操作系統(tǒng)的選擇 41

3.2.1 選擇網(wǎng)站運(yùn)營的操作系統(tǒng) 41

3.2.2 選擇網(wǎng)站開發(fā)的操作系統(tǒng) 42

3.3 安裝集成PHP開發(fā)環(huán)境 42

3.3.1 安裝前準(zhǔn)備 42

3.3.2 安裝步驟 42

3.3.3 環(huán)境測試 43

3.4 集成環(huán)境中各服務(wù)器的配置 45

3.4.1 Apache配置 46

3.4.2 改變文檔根www的位置 46

3.4.3 修改PHP的默認(rèn)配置 47

3.4.4 phpMyAdmin的應(yīng)用 47

3.4.5 修改MySQL默認(rèn)的訪問權(quán)限 48

3.5 小結(jié) 49

第4章 PHP的基本語法 50

4.1 第一個(gè)PHP腳本程序 50

4.2 PHP語言標(biāo)記 52

4.2.1 將PHP代碼嵌入HTML中的位置 53

4.2.2 解讀開始和結(jié)束標(biāo)記 53

4.3 指令分隔符'分號' 54

4.4 程序注釋 54

4.5 在程序中使用空白的處理 56

4.6 變量 57

4.6.1 變量的聲明 57

4.6.2 變量的命名 58

4.6.3 可變變量 59

4.6.4 變量的引用賦值 59

4.7 變量的類型 60

4.7.1 類型介紹 60

4.7.2 布爾型(boolean) 61

4.7.3 整型(integer) 62

4.7.4 浮點(diǎn)型(float或double) 63

4.7.5 字符串(string) 63

4.7.6 數(shù)組(array) 65

4.7.7 對象(object) 66

4.7.8 資源類型(resource) 66

4.7.9 NULL類型 67

4.7.10 偽類型介紹 67

4.8 數(shù)據(jù)類型之間相互轉(zhuǎn)換 67

4.8.1 自動(dòng)類型轉(zhuǎn)換 68

4.8.2 強(qiáng)制類型轉(zhuǎn)換 68

4.8.3 類型轉(zhuǎn)換細(xì)節(jié) 69

4.8.4 變量類型的測試函數(shù) 69

4.9 常量 70

4.9.1 常量的定義和使用 70

4.9.2 常量和變量 71

4.9.3 PHP新版本可以使用表達(dá)式定義常量 72

4.9.4 define和const的區(qū)別 72

4.9.5 系統(tǒng)中的預(yù)定義常量 72

4.9.6 PHP中的魔術(shù)常量 73

4.10 PHP中的運(yùn)算符 74

4.10.1 算術(shù)運(yùn)算符 74

4.10.2 字符串運(yùn)算符 76

4.10.3 賦值運(yùn)算符 76

4.10.4 比較運(yùn)算符 77

4.10.5 邏輯運(yùn)算符 79

4.10.6 位運(yùn)算符 80

4.10.7 其他運(yùn)算符 82

4.10.8 運(yùn)算符的優(yōu)先級 83

4.11 表達(dá)式 84

4.12 容易混淆的特殊值 84

4.13 小結(jié) 85

第5章 PHP的流程控制結(jié)構(gòu) 86

5.1 分支結(jié)構(gòu) 86

5.1.1 單一條件分支結(jié)構(gòu)(if) 86

5.1.2 雙向條件分支結(jié)構(gòu)(else子句) 87

5.1.3 多向條件分支結(jié)構(gòu)(elseif子句) 88

5.1.4 多向條件分支結(jié)構(gòu)(switch語句) 89

5.1.5 巢狀條件分支結(jié)構(gòu) 91

5.1.6 條件分支結(jié)構(gòu)實(shí)例應(yīng)用(簡單計(jì)算器) 92

5.2 循環(huán)結(jié)構(gòu) 93

5.2.1 while語句 94

5.2.2 do…while循環(huán) 95

5.2.3 for語句 96

5.3 特殊的流程控制語句 99

5.3.1 break語句 99

5.3.2 continue語句 99

5.3.3 exit語句 100

5.4 PHP的新版特性——goto語句 100

5.5 小結(jié) 102

第6章 PHP的函數(shù)應(yīng)用 103

6.1 函數(shù)的定義 103

6.2 自定義函數(shù) 104

6.2.1 函數(shù)的聲明 104

6.2.2 函數(shù)的調(diào)用 105

6.2.3 函數(shù)的參數(shù) 106

6.2.4 函數(shù)的返回值 107

6.2.5 標(biāo)量類型聲明 109

6.3 函數(shù)的工作原理和結(jié)構(gòu)化編程 111

6.4 PHP變量的范圍 111

6.4.1 局部變量 111

6.4.2 全局變量 112

6.4.3 靜態(tài)變量 113

6.5 聲明及應(yīng)用各種形式的PHP函數(shù) 114

6.5.1 常規(guī)參數(shù)的函數(shù) 115

6.5.2 偽類型參數(shù)的函數(shù) 115

6.5.3 引用參數(shù)的函數(shù) 115

6.5.4 默認(rèn)參數(shù)的函數(shù) 116

6.5.5 可變個(gè)數(shù)參數(shù)的函數(shù) 118

6.5.6 回調(diào)函數(shù) 119

6.6 遞歸函數(shù) 122

6.7 使用自定義函數(shù)庫 123

6.8 PHP匿名函數(shù)和閉包 124

6.9 小結(jié) 125

第7章 PHP中的數(shù)組與數(shù)據(jù)結(jié)構(gòu) 126

7.1 數(shù)組的分類 126

7.2 數(shù)組的定義 127

7.2.1 以直接賦值的方式聲明數(shù)組 128

7.2.2 使用array語言結(jié)構(gòu)新建數(shù)組 129

7.2.3 數(shù)組簡寫語法 130

7.2.4 多維數(shù)組的聲明 130

7.3 數(shù)組的遍歷 132

7.3.1 使用for語句循環(huán)遍歷數(shù)組 132

7.3.2 聯(lián)合使用list、each和while循環(huán)遍歷數(shù)組 134

7.3.3 使用foreach語句遍歷數(shù)組 135

7.3.4 使用數(shù)組的內(nèi)部指針控制函數(shù)遍歷數(shù)組 138

7.4 預(yù)定義數(shù)組 139

7.4.1 服務(wù)器變量:Array 140

7.4.2 環(huán)境變量:Array 140

7.4.3 URL GET變量:Array 141

7.4.4 HTTP POST變量:Array 141

7.4.5 request變量:Array 142

7.4.6 HTTP文件上傳變量:Array 142

7.4.7 HTTP Cookies:Array 142

7.4.8 Session變量: 143

7.4.9 Global變量:Array 143

7.5 數(shù)組的相關(guān)處理函數(shù) 143

7.5.1 數(shù)組的鍵/值操作函數(shù) 143

7.5.2 統(tǒng)計(jì)數(shù)組元素的個(gè)數(shù)和唯一性 146

7.5.3 使用回調(diào)函數(shù)處理數(shù)組的函數(shù) 147

7.5.4 數(shù)組的排序函數(shù) 150

7.5.5 拆分、合并、分解和接合數(shù)組 153

7.5.6 數(shù)組與數(shù)據(jù)結(jié)構(gòu) 155

7.5.7 其他有用的數(shù)組處理函數(shù) 157

7.6 操作PHP數(shù)組需要注意的一些細(xì)節(jié) 158

7.6.1 數(shù)組運(yùn)算符號 158

7.6.2 刪除數(shù)組中的元素 159

7.6.3 關(guān)于數(shù)組下標(biāo)的注意事項(xiàng) 159

7.7 小結(jié) 160

第8章 PHP面向?qū)ο蟮某绦蛟O(shè)計(jì) 161

8.1 面向?qū)ο蟾攀? 161

8.1.1 類和對象之間的關(guān)系 161

8.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì) 162

8.2 如何抽象一個(gè)類 163

8.2.1 類的聲明 163

8.2.2 成員屬性 164

8.2.3 成員方法 164

8.3 通過類實(shí)例化對象 166

8.3.1 實(shí)例化對象 166

8.3.2 對象類型在內(nèi)存中的分配 167

8.3.3 對象中成員的訪問 168

8.3.4 特殊的對象引用'' 169

8.3.5 構(gòu)造方法與析構(gòu)方法 171

8.4 封裝性 173

8.4.1 設(shè)置私有成員 174

8.4.2 私有成員的訪問 175

8.4.3 _ _set、_ _get、_ _isset和_ _unset4個(gè)方法 176

8.5 繼承性 180

8.5.1 類繼承的應(yīng)用 181

8.5.2 訪問類型控制 182

8.5.3 子類中重載父類的方法 184

8.6 常見的關(guān)鍵字和魔術(shù)方法 186

8.6.1 final關(guān)鍵字的應(yīng)用 186

8.6.2 static關(guān)鍵字的使用 187

8.6.3 單態(tài)設(shè)計(jì)模式 188

8.6.4 const關(guān)鍵字 189

8.6.5 instanceof關(guān)鍵字 189

8.6.6 克隆對象 190

8.6.7 類中通用的方法_ _toString191

8.6.8 PHP 7新加入的方法_ _ debugInfo 191

8.6.9 _ _call方法的應(yīng)用 192

8.6.10 自動(dòng)加載類 194

8.6.11 對象串行化 194

8.7 抽象類與接口 197

8.7.1 抽象類 197

8.7.2 接口技術(shù) 198

8.8 多態(tài)性的應(yīng)用 200

8.9 PHP 5.4的Trait特性 201

8.9.1 Trait的聲明 201

8.9.2 Trait的基本使用 202

8.10 PHP 7的匿名類 204

8.10.1 匿名類的聲明 204

8.10.2 匿名類的應(yīng)用 205

8.11 PHP 5.3新增加的命名空間 206

8.11.1 命名空間的基本應(yīng)用 206

8.11.2 命名空間的子空間和公共空間 208

8.11.3 命名空間中的名稱和術(shù)語 209

8.11.4 別名和導(dǎo)入 209

8.12 面向?qū)ο蟀鎴D形計(jì)算器 211

8.12.1 需求分析 211

8.12.2 功能設(shè)計(jì)及實(shí)現(xiàn) 212

8.12.3 類的組織架構(gòu) 216

8.13 小結(jié) 217

第9章 字符串處理 219

9.1 字符串的處理介紹 219

9.1.1 字符串的處理方式 219

9.1.2 字符串類型的特點(diǎn) 219

9.1.3 雙引號中的變量解析總結(jié) 220

9.2 常用的字符串輸出函數(shù) 221

9.3 常用的字符串格式化函數(shù) 223

9.3.1 去除空格和字符串填補(bǔ)函數(shù) 224

9.3.2 字符串大小寫的轉(zhuǎn)換 225

9.3.3 和HTML標(biāo)簽相關(guān)的字符串格式化 225

9.3.4 其他字符串格式化函數(shù) 228

9.4 字符串比較函數(shù) 229

9.4.1 按字節(jié)順序進(jìn)行字符串比較 230

9.4.2 按自然排序進(jìn)行字符串比較 230

9.5 小結(jié) 231

第10章 正則表達(dá)式 232

10.1 正則表達(dá)式簡介 232

10.2 正則表達(dá)式的語法規(guī)則 233

10.2.1 定界符 233

10.2.2 原子 234

10.2.3 元字符 235

10.2.4 模式修正符 238

10.3 與Perl兼容的正則表達(dá)式函數(shù) 238

10.3.1 字符串的匹配與查找 239

10.3.2 字符串的替換 242

10.3.3 字符串的分割和連接 246

10.4 文章發(fā)布操作示例 248

10.5 小結(jié) 252

第11章 PHP的錯(cuò)誤和異常處理 253

11.1 錯(cuò)誤處理 253

11.1.1 錯(cuò)誤報(bào)告級別 253

11.1.2 調(diào)整錯(cuò)誤報(bào)告級別 254

11.1.3 使用trigger_error函數(shù)代替die函數(shù) 256

11.1.4 自定義錯(cuò)誤處理 256

11.1.5 寫錯(cuò)誤日志 257

11.2 異常處理 259

11.2.1 異常處理實(shí)現(xiàn) 260

11.2.2 擴(kuò)展PHP內(nèi)置的異常處理類 260

11.2.3 捕獲多個(gè)異常 262

11.2.4 PHP異常處理新特性 263

11.3 小結(jié) 264

第12章 PHP的日期和時(shí)間 265

12.1 UNIX時(shí)間戳 265

12.1.1 將日期和時(shí)間轉(zhuǎn)變成UNIX時(shí)間戳 265

12.1.2 日期的計(jì)算 266

12.2 在PHP中獲取日期和時(shí)間 267

12.2.1 調(diào)用getdate函數(shù)取得日期和時(shí)間信息 267

12.2.2 日期和時(shí)間格式化輸出 267

12.3 修改PHP的默認(rèn)時(shí)區(qū) 269

12.4 使用微秒計(jì)算PHP腳本執(zhí)行時(shí)間 269

12.5 日歷類 270

12.6 小結(jié) 273

第13章 文件系統(tǒng)處理 275

13.1 文件系統(tǒng)概述 275

13.1.1 文件類型 275

13.1.2 文件的屬性 276

13.2 的基本操作 278

13.2.1 解析路徑 279

13.2.2 遍歷 280

13.2.3 統(tǒng)計(jì)大小 281

13.2.4 建立和刪除 282

13.2.5 復(fù)制 282

13.3 文件的基本操作 283

13.3.1 文件的打開與關(guān)閉 283

13.3.2 寫入文件 285

13.3.3 讀取文件內(nèi)容 285

13.3.4 訪問遠(yuǎn)程文件 287

13.3.5 移動(dòng)文件指針 288

13.3.6 文件的鎖定機(jī)制 289

13.3.7 文件的一些基本操作函數(shù) 291

13.4 文件的上傳與下載 292

13.4.1 文件上傳 292

13.4.2 處理多個(gè)文件上傳 295

13.4.3 文件下載 296

13.5 設(shè)計(jì)經(jīng)典的文件上傳類 297

13.5.1 需求分析 297

13.5.2 程序設(shè)計(jì) 297

13.5.3 文件上傳類代碼實(shí)現(xiàn) 298

13.5.4 文件上傳類的應(yīng)用過程 301

13.6 小結(jié) 303

第14章 PHP動(dòng)態(tài)圖像處理 304

14.1 PHP中GD庫的使用 304

14.1.1 畫布管理 305

14.1.2 設(shè)置顏色 306

14.1.3 生成圖像 306

14.1.4 繪制圖像 307

14.1.5 在圖像中繪制文字 309

14.2 設(shè)計(jì)經(jīng)典的驗(yàn)證碼類 311

14.2.1 設(shè)計(jì)驗(yàn)證碼類 311

14.2.2 應(yīng)用驗(yàn)證碼類的實(shí)例對象 313

14.2.3 表單中應(yīng)用驗(yàn)證碼 313

14.2.4 實(shí)例演示 314

14.3 PHP圖片處理 314

14.3.1 圖片背景管理 314

14.3.2 圖片縮放 316

14.3.3 圖片裁剪 317

14.3.4 添加圖片水印 318

14.3.5 圖片旋轉(zhuǎn)和翻轉(zhuǎn) 319

14.4 設(shè)計(jì)經(jīng)典的圖像處理類 321

14.4.1 需求分析 322

14.4.2 程序設(shè)計(jì) 322

14.4.3 圖像處理類代碼實(shí)現(xiàn) 323

14.4.4 圖像處理類的應(yīng)用過程 327

14.5 小結(jié) 328

第15章 MySQL數(shù)據(jù)庫概述 329

15.1 數(shù)據(jù)庫的應(yīng)用 329

15.1.1 數(shù)據(jù)庫在Web開發(fā)中的重要地位 329

15.1.2 為什么PHP會(huì)選擇MySQL作為自己的黃金搭檔 330

15.1.3 PHP和MySQL的合作方式 330

15.1.4 結(jié)構(gòu)化查詢語言SQL 331

15.2 MySQL數(shù)據(jù)庫的常見操作 331

15.2.1 MySQL數(shù)據(jù)庫的連接與關(guān)閉 331

15.2.2 創(chuàng)建新用戶并授權(quán) 332

15.2.3 創(chuàng)建數(shù)據(jù)庫 333

15.2.4 創(chuàng)建數(shù)據(jù)表 333

15.2.5 數(shù)據(jù)表內(nèi)容的簡單管理 334

15.3 小結(jié) 335

第16章 MySQL數(shù)據(jù)表的設(shè)計(jì) 336

16.1 數(shù)據(jù)表(Table) 336

16.2 數(shù)據(jù)值和列類型 337

16.2.1 數(shù)值類的數(shù)據(jù)列類型 337

16.2.2 字符串類的數(shù)據(jù)列類型 338

16.2.3 日期和時(shí)間類的數(shù)據(jù)列類型 339

16.2.4 NULL值 339

16.2.5 類型轉(zhuǎn)換 339

16.3 數(shù)據(jù)字段屬性 340

16.4 數(shù)據(jù)表對象管理 340

16.4.1 創(chuàng)建表(CREATE TABLE) 340

16.4.2 修改表(ALTER TABLE) 342

16.4.3 刪除表(DROP TABLE) 342

16.5 數(shù)據(jù)表的類型及存儲(chǔ)位置 343

16.5.1 MyISAM數(shù)據(jù)表 343

16.5.2 InnoDB數(shù)據(jù)表 343

16.5.3 選擇InnoDB還是MyISAM數(shù)據(jù)表類型 343

16.5.4 數(shù)據(jù)表的存儲(chǔ)位置 344

16.6 數(shù)據(jù)表的默認(rèn)字符集 344

16.6.1 字符集 344

16.6.2 字符集支持原理 345

16.6.3 創(chuàng)建數(shù)據(jù)對象時(shí)修改字符集 345

16.7 創(chuàng)建索引 346

16.7.1 主鍵索引(PRIMARY KEY) 346

16.7.2 唯一索引(UNIQUE) 347

16.7.3 常規(guī)索引(INDEX) 347

16.7.4 全文索引(FULLTEXT) 348

16.8 數(shù)據(jù)庫的設(shè)計(jì)技巧 348

16.8.1 數(shù)據(jù)庫的設(shè)計(jì)要求 348

16.8.2 命名的技巧 348

16.8.3 數(shù)據(jù)庫具體設(shè)計(jì)工作中的技巧 349

16.9 小結(jié) 349

第17章 SQL語句設(shè)計(jì) 350

17.1 操作數(shù)據(jù)表中的數(shù)據(jù)記錄(DML) 350

17.1.1 使用INSERT語句向數(shù)據(jù)表中添加數(shù)據(jù) 350

17.1.2 使用UPDATE語句更新數(shù)據(jù)表中已存在的數(shù)據(jù) 351

17.1.3 使用DELETE語句刪除數(shù)據(jù)表中不需要的數(shù)據(jù)記錄 352

17.2 通過DQL命令查詢數(shù)據(jù)表中的數(shù)據(jù) 352

17.2.1 選擇特定的字段 353

17.2.2 使用AS子句為字段取別名 353

17.2.3 DISTINCT關(guān)鍵字的使用 353

17.2.4 在SELECT語句中使用表達(dá)式的列 354

17.2.5 使用WHERE子句按條件檢索 355

17.2.6 根據(jù)空值(NULL)確定檢索條件 356

17.2.7 使用BETWEEN AND進(jìn)行范圍比較查詢 356

17.2.8 使用IN進(jìn)行范圍比較查詢 356

17.2.9 使用LIKE進(jìn)行模糊查詢 356

17.2.10 多表查詢(連接查詢) 357

17.2.11 嵌套查詢(子查詢) 359

17.2.12 使用ORDER BY對查詢結(jié)果排序 359

17.2.13 使用LIMIT限定結(jié)果行數(shù) 360

17.2.14 使用統(tǒng)計(jì)函數(shù) 360

17.2.15 使用GROUP BY對查詢結(jié)果分組 361

17.3 查詢優(yōu)化 362

17.4 小結(jié) 363

第18章 數(shù)據(jù)庫抽象層PDO 364

18.1 PHP訪問MySQL數(shù)據(jù)庫服務(wù)器的流程 364

18.2 PDO所支持的數(shù)據(jù)庫 365

18.3 PDO的安裝 366

18.4 創(chuàng)建PDO對象 367

18.4.1 以多種方式調(diào)用構(gòu)造方法 368

18.4.2 PDO對象中的成員方法 370

18.5 使用PDO對象 370

18.5.1 調(diào)整PDO的行為屬性 370

18.5.2 PDO處理PHP程序和數(shù)據(jù)庫之間的數(shù)據(jù)類型轉(zhuǎn)換 371

18.5.3 PDO的錯(cuò)誤處理模式 371

18.5.4 使用PDO執(zhí)行SQL語句 372

18.6 PDO對預(yù)處理語句的支持 373

18.6.1 了解PDOStatement對象 374

18.6.2 準(zhǔn)備語句 375

18.6.3 綁定參數(shù) 375

18.6.4 執(zhí)行準(zhǔn)備好的查詢 376

18.6.5 獲取數(shù)據(jù) 377

18.6.6 大數(shù)據(jù)對象的存取 380

18.7 PDO的事務(wù)處理 381

18.7.1 MySQL的事務(wù)處理 381

18.7.2 構(gòu)建事務(wù)處理的應(yīng)用程序 382

18.8 設(shè)計(jì)完美分頁類 383

18.8.1 需求分析 383

18.8.2 程序設(shè)計(jì) 383

18.8.3 完美分頁類的代碼實(shí)現(xiàn) 385

18.8.4 完美分頁類的應(yīng)用過程 388

18.9 管理表books實(shí)例 390

18.9.1 需求分析 390

18.9.2 程序設(shè)計(jì) 391

18.10 小結(jié) 397

本章必須掌握的知識(shí)點(diǎn) 397

本章需要了解的內(nèi)容 398

本章需要拓展的內(nèi)容 398

第19章 MemCache管理與應(yīng)用 399

19.1 MemCache概述 399

19.1.1 初識(shí)MemCache 399

19.1.2 MemCache在Web中的應(yīng)用 400

19.2 memcached的安裝及管理 401

19.2.1 Linux下安裝MemCache軟件 401

19.2.2 Windows下安裝MemCache軟件 402

19.2.3 memcached服務(wù)器的管理 403

19.3 使用Telnet作為memcached的客戶端管理 403

19.3.1 連接memcached服務(wù)器 403

19.3.2 基本的memcached客戶端命令 403

19.3.3 查看當(dāng)前memcached服務(wù)器的運(yùn)行狀態(tài)信息 404

19.3.4 數(shù)據(jù)管理指令 404

19.4 PHP的memcached管理接口 405

19.4.1 安裝PHP中的MemCache應(yīng)用程序擴(kuò)展接口 405

19.4.2 MemCache應(yīng)用程序擴(kuò)展接口 407

19.4.3 MemCache的實(shí)例應(yīng)用 411

19.5 memcached服務(wù)器的安全防護(hù) 412

19.6 小結(jié) 412

第20章 會(huì)話控制 414

20.1 為什么要使用會(huì)話控制 414

20.2 會(huì)話跟蹤的方式 415

20.3 Cookie的應(yīng)用 415

20.3.1 Cookie概述 415

20.3.2 向客戶端計(jì)算機(jī)中設(shè)置Cookie 416

20.3.3 在PHP腳本中讀取Cookie的資料內(nèi)容 417

20.3.4 數(shù)組形態(tài)的Cookie應(yīng)用 418

20.3.5 刪除Cookie 418

20.3.6 基于Cookie的用戶登錄模塊 419

20.4 Session的應(yīng)用 420

20.4.1 Session概述 420

20.4.2 配置Session 421

20.4.3 Session的聲明與使用 422

20.4.4 注冊一個(gè)會(huì)話變量和讀取Session 422

20.4.5 注銷變量與銷毀Session 423

20.4.6 Session的自動(dòng)回收機(jī)制 424

20.4.7 傳遞Session ID 425

20.5 一個(gè)簡單的郵件系統(tǒng)實(shí)例 427

20.5.1 為郵件系統(tǒng)準(zhǔn)備數(shù)據(jù) 427

20.5.2 編碼實(shí)現(xiàn)郵件系統(tǒng) 428

20.5.3 郵件系統(tǒng)執(zhí)行說明 430

20.6 自定義Session處理方式 431

20.6.1 自定義Session的存儲(chǔ)機(jī)制 431

20.6.2 使用數(shù)據(jù)庫處理Session信息 433

20.6.3 使用memcached處理Session信息 436

20.7 小結(jié) 438

第21章 Redis的管理與應(yīng)用 439

21.1 從認(rèn)識(shí)Redis開始 439

21.1.1 Redis與其他數(shù)據(jù)庫和軟件的對比 439

21.1.2 Redis的特點(diǎn) 440

21.1.3 使用Redis的理由 440

21.2 Redis環(huán)境安裝及管理 441

21.2.1 安裝Redis 441

21.2.2 啟動(dòng)Redis服務(wù) 442

21.2.3 Redis服務(wù)的性能測試 442

21.2.4 Redis服務(wù)的配置管理 443

21.3 Redis客戶端管理 444

21.3.1 命令行客戶端操作 445

21.3.2 安裝PHP的Redis擴(kuò)展 445

21.4 Redis服務(wù)器的基本操作 446

21.5 Redis的數(shù)據(jù)類型 447

21.6 PHP操作Redis的通用方法 448

21.7 Redis的字符串(String)類型 449

21.7.1 相關(guān)的命令操作 449

21.7.2 應(yīng)用場景 450

21.7.3 使用Redis實(shí)現(xiàn)頁面緩存 450

21.8 Redis的列表(List)類型 451

21.8.1 相關(guān)的命令操作 452

21.8.2 應(yīng)用場景 453

21.8.3 'PHP Redis'實(shí)現(xiàn)消息隊(duì)列 453

21.9 Redis的集合(Set)類型 454

21.9.1 相關(guān)的命令操作 454

21.9.2 應(yīng)用場景 456

21.9.3 'PHP Redis'實(shí)現(xiàn)共同好友功能 456

21.10 Redis的Sorted Set有序集合類型 458

21.10.1 相關(guān)的命令操作 458

21.10.2 應(yīng)用場景 459

21.10.3 'PHP Redis'實(shí)現(xiàn)排行榜功能 460

21.11 Redis的哈希(hash)表類型 461

21.11.1 相關(guān)的命令操作 461

21.11.2 應(yīng)用場景 463

21.11.3 使用Redis實(shí)現(xiàn)購物車功能 463

21.12 Redis訂閱發(fā)布系統(tǒng) 465

21.12.1 Redis 發(fā)布訂閱 465

21.12.2 Redis 發(fā)布訂閱操作 465

21.13 Redis的事務(wù)處理機(jī)制 466

21.14 小結(jié) 467

第22章 PHP的CURL功能擴(kuò)展模塊 468

22.1 CURL功能擴(kuò)展模塊介紹 468

22.2 PHP的CURL功能擴(kuò)展模塊基本用法 469

22.3 CURL相關(guān)的功能選項(xiàng) 470

22.4 通過CURL擴(kuò)展獲取頁面信息 471

22.5 通過CURL擴(kuò)展用POST方法發(fā)送數(shù)據(jù) 473

22.6 通過CURL擴(kuò)展上傳文件 474

22.7 通過CURL模擬登錄并獲取數(shù)據(jù) 476

22.8 小結(jié) 477

第23章 自定義PHP接口規(guī)范 478

23.1 應(yīng)用程序編程接口(API) 478

23.1.1 什么是接口 478

23.1.2 了解實(shí)現(xiàn)接口的幾種方法 479

23.1.3 接口的應(yīng)用和優(yōu)勢 480

23.2 接口實(shí)現(xiàn)的基礎(chǔ) 482

23.2.1 實(shí)現(xiàn)接口的訪問流程 482

23.2.2 處理接口的返回值 483

23.2.3 在程序中訪問接口 484

23.3 接口的安全控制規(guī)范 486

23.3.1 API安全控制原則 487

23.3.2 API安全控制簡單實(shí)現(xiàn)步驟 487

23.4 API的設(shè)計(jì)原則和規(guī)范 491

23.4.1 什么是RESTful風(fēng)格的API 491

23.4.2 RESTful API應(yīng)遵循的原則 491

23.5 創(chuàng)建RESTful規(guī)范 WebAPI框架 495

23.5.1 程序結(jié)構(gòu)設(shè)計(jì) 495

23.5.2 架構(gòu)詳解 496

23.5.3 WebAPI框架應(yīng)用 502

23.5.4 客戶端訪問API 507

23.6 使用第三方接口服務(wù)實(shí)例 509

23.6.1 查找API 509

23.6.2 查看API文檔說明 509

23.6.3 獲取接口的key 510

23.6.4 使用 PHP 代碼請求接口 510

23.7 小結(jié) 511

第24章 PHP依賴管理工具Composer 513

24.1 認(rèn)識(shí)Composer 513

24.1.1 什么是Composer 513

24.1.2 Composer的代碼庫在哪里 514

24.1.3 類庫的規(guī)范 515

24.2 Composer的安裝 515

24.2.1 安裝前的準(zhǔn)備 515

24.2.2 安裝步驟 515

24.2.3 測試安裝環(huán)境 516

24.3 Composer常用文件 517

24.3.1 vendor 517

24.3.2 composer.json 文件 517

24.3.3 composer.lock 文件 518

24.4 Composer常用命令 519

24.4.1 Composer基本命令的使用 519

24.4.2 Composer命令的運(yùn)行流程 520

24.5 Composer應(yīng)用案例 521

24.5.1 搜索需要的庫 521

24.5.2 應(yīng)用前準(zhǔn)備 522

24.5.3 應(yīng)用類庫 523

24.6 小結(jié) 525

第25章 MVC模式與PHP框架 526

25.1 MVC模式在Web中的應(yīng)用 526

25.1.1 MVC模式的工作原理 526

25.1.2 MVC模式的優(yōu)缺點(diǎn) 527

25.2 PHP開發(fā)框架 528

25.2.1 什么是框架 528

25.2.2 為什么要用框架 529

25.2.3 框架和MVC模式的關(guān)系 529

25.2.4 流行的PHP框架比較 530

25.3 劃分模塊和操作 532

25.3.1 為項(xiàng)目劃分模塊 532

25.3.2 為模塊設(shè)置操作 532

25.4 小結(jié) 533

第26章 簡潔優(yōu)雅的Laravel開發(fā)框架 534

26.1 認(rèn)識(shí)Laravel框架 534

26.1.1 什么是Laravel框架 534

26.1.2 Laravel框架的功能特點(diǎn) 534

26.1.3 Laravel框架的技術(shù)特點(diǎn) 535

26.1.4 Laravel框架應(yīng)用的重要性 536

26.1.5 Laravel框架的發(fā)展歷程 536

26.2 安裝Laravel 538

26.2.1 安裝前準(zhǔn)備 538

26.2.2 安裝Laravel 5.5 539

26.2.3 Laravel框架的結(jié)構(gòu) 540

26.2.4 初始化Laravel框架安裝的一些設(shè)置 542

26.2.5 Laravel框架的Artisan工具 544

26.3 Laravel框架的工作流程 544

26.3.1 基本的工作流程 545

26.3.2 客戶端 546

26.3.3 主入口文件 546

26.3.4 URL路由 546

26.3.5 控制器層(C) 547

26.3.6 中間件 548

26.3.7 數(shù)據(jù)庫操作層(M) 550

26.3.8 視圖層(V) 553

26.3.9 請求和響應(yīng) 556

26.4 Laravel框架的核心服務(wù)容器 561

26.4.1 IoC 容器 561

26.4.2 了解Laravel框架的核心 562

26.4.3 注冊自己的服務(wù)到容器中 566

26.4.4 門面(Facades) 567

26.4.5 使用Composer為Laravel框架安裝擴(kuò)展插件包 569

26.5 基于Laravel框架的Web應(yīng)用實(shí)例 571

26.5.1 用戶登錄模塊 571

26.5.2 后臺(tái)管理平臺(tái)模塊 573

26.5.3 文章模塊 575

26.5.4 搭建前臺(tái)模塊 584

26.5.5 評論模塊 586

26.6 基于Laravel 5.5的API應(yīng)用實(shí)例 590

26.6.1 構(gòu)建接口模塊 590

26.6.2 封裝返回的統(tǒng)一消息 591

26.6.3 為API增加版本 593

26.6.4 API token認(rèn)證 593

26.6.5 編寫文檔和測試 596

26.7 小結(jié) 596

第27章 項(xiàng)目開發(fā)實(shí)戰(zhàn)——博客系統(tǒng) 597

27.1 項(xiàng)目介紹 597

27.2 需求分析 597

27.2.1 系統(tǒng)目標(biāo) 598

27.2.2 系統(tǒng)功能結(jié)構(gòu) 598

27.2.3 權(quán)限介紹 599

27.3 操作流程圖 599

27.3.1 博客前臺(tái)操作流程 599

27.3.2 博客后臺(tái)操作流程 600

27.4 原型圖 600

27.4.1 什么是原型圖 600

27.4.2 原型圖的分類 600

27.4.3 項(xiàng)目部分原型頁面展示 601

27.5 博客項(xiàng)目的模塊介紹 604

27.5.1 前臺(tái)模塊 604

27.5.2 后臺(tái)模塊 604

27.5.3 前后臺(tái)模塊思維導(dǎo)圖 605

27.6 數(shù)據(jù)庫設(shè)計(jì)說明 606

27.6.1 概念結(jié)構(gòu)設(shè)計(jì) 606

27.6.2 通過實(shí)體得到ER圖 606

27.6.3 邏輯結(jié)構(gòu)設(shè)計(jì) 607

27.6.4 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì) 608

27.7 程序設(shè)計(jì)說明 610

27.7.1 環(huán)境部署 611

27.7.2 權(quán)限設(shè)置 611

27.7.3 項(xiàng)目結(jié)構(gòu) 611

27.7.4 項(xiàng)目模塊結(jié)構(gòu) 612

27.7.5 項(xiàng)目程序結(jié)構(gòu) 612

27.7.6 模型說明 616

27.7.7 自定義類及安裝的組件 617

27.8 項(xiàng)目安裝和部署 617

27.8.1 搭建虛擬主機(jī) 617

27.8.2 導(dǎo)入數(shù)據(jù)庫 618

27.8.3 項(xiàng)目應(yīng)用 618

27.9 本章作業(yè) 619

27.9.1 任務(wù)一:修改網(wǎng)站配置模塊 619

27.9.2 任務(wù)二:添加友情鏈接模塊 622

27.10 小結(jié) 624

第28章 在線教育系統(tǒng)EDUPlayer 625

28.1 項(xiàng)目背景 625

28.2 需求分析 625

28.2.1 系統(tǒng)目標(biāo) 625

28.2.2 前后端分離架構(gòu) 626

28.2.3 系統(tǒng)功能結(jié)構(gòu) 626

28.2.4 權(quán)限介紹 626

28.3 操作流程 627

28.3.1 前臺(tái)操作流程 628

28.3.2 后臺(tái)操作流程 628

28.4 原型圖 629

28.5 系統(tǒng)模塊介紹 631

28.5.1 前臺(tái)模塊 631

28.5.2 后臺(tái)模塊 632

28.5.3 前臺(tái)模塊思維導(dǎo)圖 632

28.5.4 后臺(tái)模塊思維導(dǎo)圖 632

28.6 數(shù)據(jù)庫設(shè)計(jì)說明 633

28.6.1 概念結(jié)構(gòu)設(shè)計(jì) 634

28.6.2 通過實(shí)體獲取ER圖 634

28.6.3 Laravel 框架的數(shù)據(jù)表遷移工具 635

28.6.4 數(shù)據(jù)表詳解 635

28.7 項(xiàng)目安裝 656

28.7.1 環(huán)境依賴 656

28.7.2 環(huán)境安裝之 nginx 657

28.7.3 環(huán)境安裝之 PHP 657

28.7.4 環(huán)境安裝之MySQL 658

28.7.5 環(huán)境安裝之 Redis 659

28.7.6 環(huán)境安裝之Git 659

28.7.7 環(huán)境安裝之 Composer 659

28.7.8 項(xiàng)目下載及配置 660

28.7.9 虛擬主機(jī)配置 661

28.7.10 開啟定時(shí)任務(wù) 662

28.7.11 Redis隊(duì)列實(shí)現(xiàn) 662

28.7.12 安裝成功 663

28.8 結(jié)構(gòu) 663

28.8.1 根 663

28.8.2 app 664

28.9 依賴組件 665

28.10 二次開發(fā)注意事項(xiàng) 666

28.10.1 搜索參數(shù)和排序參數(shù)約束 666

28.10.2 關(guān)聯(lián)加載約束 667

28.10.3 權(quán)限驗(yàn)證約束 668

28.10.4 開發(fā)新業(yè)務(wù)示例 668

28.11 小結(jié) 669

附錄 671

附錄A 編碼規(guī)范 672

附錄B PHP項(xiàng)目的安全和優(yōu)化 683

附錄C PHP 5.3~PHP 5.6中的新特性 695,

第1章 LAMP網(wǎng)站構(gòu)建 1

1.1 Web概述 1

1.1.1 Web應(yīng)用的優(yōu)勢 2

1.1.2 Web 2.0時(shí)代的互聯(lián)網(wǎng) 3

1.1.3 Web開發(fā)標(biāo)準(zhǔn) 4

1.1.4 認(rèn)識(shí)腳本語言 5

1.2 動(dòng)態(tài)網(wǎng)站開發(fā)所需的Web構(gòu)件 5

1.2.1 客戶端瀏覽器 6

1.2.2 超文本標(biāo)記語言(HTML) 7

1.2.3 層疊樣式表(CSS) 8

1.2.4 客戶端腳本編程語言JavaScript 8

1.2.5 Web服務(wù)器 9

1.2.6 服務(wù)器端編程語言 10

1.2.7 數(shù)據(jù)庫管理系統(tǒng) 10

1.3 幾種主流的Web應(yīng)用程序平臺(tái) 11

1.3.1 Web應(yīng)用程序開發(fā)平臺(tái)對比分析 11

1.3.2 動(dòng)態(tài)網(wǎng)站開發(fā)平臺(tái)技術(shù)比較 12

1.4 HTTP協(xié)議與Web的關(guān)系 13

1.4.1 HTTP協(xié)議概述 13

1.4.2 HTTP協(xié)議結(jié)構(gòu) 14

1.4.3 HTTP請求消息 15

1.4.4 HTTP響應(yīng)消息 15

1.4.5 HTTPS是什么 16

1.4.6 URL概述 16

1.5 Web的工作原理 17

1.5.1 情景1:不帶應(yīng)用程序服務(wù)器和數(shù)據(jù)庫的服務(wù)器 17

1.5.2 情景2:帶應(yīng)用程序服務(wù)器的Web服務(wù)器 18

1.5.3 情景3:瀏覽器訪問服務(wù)器端的數(shù)據(jù)庫 19

1.6 LAMP網(wǎng)站開發(fā)組合概述 19

1.6.1 Linux操作系統(tǒng) 20

1.6.2 Web服務(wù)器Apache 20

1.6.3 MySQL數(shù)據(jù)庫管理系統(tǒng) 20

1.6.4 PHP后臺(tái)腳本編程語言 21

1.6.5 LAMP的發(fā)展趨勢 21

1.6.6 Web的未來發(fā)展 21

1.7 小結(jié) 22

第2章 PHP的應(yīng)用與發(fā)展 23

2.1 PHP是什么 23

2.1.1 從認(rèn)識(shí)PHP開始 23

2.1.2 PHP都能做什么 24

2.2 PHP的應(yīng)用 26

2.2.1 開發(fā)網(wǎng)站和移動(dòng)網(wǎng)站的應(yīng)用 26

2.2.2 在企業(yè)內(nèi)部信息化系統(tǒng)中的應(yīng)用 27

2.2.3 在App接口開發(fā)方面的應(yīng)用 27

2.2.4 對微信公眾平臺(tái)二次開發(fā)的應(yīng)用 28

2.2.5 微信小程序開發(fā)應(yīng)用 29

2.2.6 PHP在其他方面的應(yīng)用 29

2.3 PHP的開發(fā)優(yōu)勢 29

2.3.1 簡單易學(xué) 30

2.3.2 開發(fā)效率高 30

2.3.3 開發(fā)成本低 30

2.3.4 程序執(zhí)行效率高 30

2.3.5 安全性良好 31

2.3.6 功能強(qiáng)大 31

2.3.7 可選擇性多 31

2.4 PHP的發(fā)展 31

2.4.1 PHP的誕生 31

2.4.2 PHP的迭代過程 32

2.4.3 PHP的現(xiàn)在 33

2.4.4 PHP的未來 33

2.5 如何學(xué)習(xí)PHP 34

2.5.1 確定學(xué)習(xí)的目標(biāo) 34

2.5.2 PHP學(xué)習(xí)線路圖 34

2.5.3 堅(jiān)持動(dòng)手實(shí)驗(yàn) 36

2.5.4 Bug解決之道 36

2.5.5 看教學(xué)視頻,讓學(xué)習(xí)變得簡單 37

2.5.6 優(yōu)秀的Web程序員是怎樣練成的 37

2.6 小結(jié) 39

第3章 從搭建你的PHP開發(fā)環(huán)境開始 40

3.1 幾種常見的PHP環(huán)境安裝方式 40

3.1.1 在Linux系統(tǒng)上以源代碼包的方式安裝環(huán)境 40

3.1.2 在Windows系統(tǒng)上安裝Web工作環(huán)境 41

3.1.3 搭建學(xué)習(xí)型的PHP工作環(huán)境 41

3.2 環(huán)境安裝對操作系統(tǒng)的選擇 41

3.2.1 選擇網(wǎng)站運(yùn)營的操作系統(tǒng) 41

3.2.2 選擇網(wǎng)站開發(fā)的操作系統(tǒng) 42

3.3 安裝集成PHP開發(fā)環(huán)境 42

3.3.1 安裝前準(zhǔn)備 42

3.3.2 安裝步驟 42

3.3.3 環(huán)境測試 43

3.4 集成環(huán)境中各服務(wù)器的配置 45

3.4.1 Apache配置 46

3.4.2 改變文檔根www的位置 46

3.4.3 修改PHP的默認(rèn)配置 47

3.4.4 phpMyAdmin的應(yīng)用 47

3.4.5 修改MySQL默認(rèn)的訪問權(quán)限 48

3.5 小結(jié) 49

第4章 PHP的基本語法 50

4.1 第一個(gè)PHP腳本程序 50

4.2 PHP語言標(biāo)記 52

4.2.1 將PHP代碼嵌入HTML中的位置 53

4.2.2 解讀開始和結(jié)束標(biāo)記 53

4.3 指令分隔符'分號' 54

4.4 程序注釋 54

4.5 在程序中使用空白的處理 56

4.6 變量 57

4.6.1 變量的聲明 57

4.6.2 變量的命名 58

4.6.3 可變變量 59

4.6.4 變量的引用賦值 59

4.7 變量的類型 60

4.7.1 類型介紹 60

4.7.2 布爾型(boolean) 61

4.7.3 整型(integer) 62

4.7.4 浮點(diǎn)型(float或double) 63

4.7.5 字符串(string) 63

4.7.6 數(shù)組(array) 65

4.7.7 對象(object) 66

4.7.8 資源類型(resource) 66

4.7.9 NULL類型 67

4.7.10 偽類型介紹 67

4.8 數(shù)據(jù)類型之間相互轉(zhuǎn)換 67

4.8.1 自動(dòng)類型轉(zhuǎn)換 68

4.8.2 強(qiáng)制類型轉(zhuǎn)換 68

4.8.3 類型轉(zhuǎn)換細(xì)節(jié) 69

4.8.4 變量類型的測試函數(shù) 69

4.9 常量 70

4.9.1 常量的定義和使用 70

4.9.2 常量和變量 71

4.9.3 PHP新版本可以使用表達(dá)式定義常量 72

4.9.4 define和const的區(qū)別 72

4.9.5 系統(tǒng)中的預(yù)定義常量 72

4.9.6 PHP中的魔術(shù)常量 73

4.10 PHP中的運(yùn)算符 74

4.10.1 算術(shù)運(yùn)算符 74

4.10.2 字符串運(yùn)算符 76

4.10.3 賦值運(yùn)算符 76

4.10.4 比較運(yùn)算符 77

4.10.5 邏輯運(yùn)算符 79

4.10.6 位運(yùn)算符 80

4.10.7 其他運(yùn)算符 82

4.10.8 運(yùn)算符的優(yōu)先級 83

4.11 表達(dá)式 84

4.12 容易混淆的特殊值 84

4.13 小結(jié) 85

第5章 PHP的流程控制結(jié)構(gòu) 86

5.1 分支結(jié)構(gòu) 86

5.1.1 單一條件分支結(jié)構(gòu)(if) 86

5.1.2 雙向條件分支結(jié)構(gòu)(else子句) 87

5.1.3 多向條件分支結(jié)構(gòu)(elseif子句) 88

5.1.4 多向條件分支結(jié)構(gòu)(switch語句) 89

5.1.5 巢狀條件分支結(jié)構(gòu) 91

5.1.6 條件分支結(jié)構(gòu)實(shí)例應(yīng)用(簡單計(jì)算器) 92

5.2 循環(huán)結(jié)構(gòu) 93

5.2.1 while語句 94

5.2.2 do…while循環(huán) 95

5.2.3 for語句 96

5.3 特殊的流程控制語句 99

5.3.1 break語句 99

5.3.2 continue語句 99

5.3.3 exit語句 100

5.4 PHP的新版特性——goto語句 100

5.5 小結(jié) 102

第6章 PHP的函數(shù)應(yīng)用 103

6.1 函數(shù)的定義 103

6.2 自定義函數(shù) 104

6.2.1 函數(shù)的聲明 104

6.2.2 函數(shù)的調(diào)用 105

6.2.3 函數(shù)的參數(shù) 106

6.2.4 函數(shù)的返回值 107

6.2.5 標(biāo)量類型聲明 109

6.3 函數(shù)的工作原理和結(jié)構(gòu)化編程 111

6.4 PHP變量的范圍 111

6.4.1 局部變量 111

6.4.2 全局變量 112

6.4.3 靜態(tài)變量 113

6.5 聲明及應(yīng)用各種形式的PHP函數(shù) 114

6.5.1 常規(guī)參數(shù)的函數(shù) 115

6.5.2 偽類型參數(shù)的函數(shù) 115

6.5.3 引用參數(shù)的函數(shù) 115

6.5.4 默認(rèn)參數(shù)的函數(shù) 116

6.5.5 可變個(gè)數(shù)參數(shù)的函數(shù) 118

6.5.6 回調(diào)函數(shù) 119

6.6 遞歸函數(shù) 122

6.7 使用自定義函數(shù)庫 123

6.8 PHP匿名函數(shù)和閉包 124

6.9 小結(jié) 125

第7章 PHP中的數(shù)組與數(shù)據(jù)結(jié)構(gòu) 126

7.1 數(shù)組的分類 126

7.2 數(shù)組的定義 127

7.2.1 以直接賦值的方式聲明數(shù)組 128

7.2.2 使用array語言結(jié)構(gòu)新建數(shù)組 129

7.2.3 數(shù)組簡寫語法 130

7.2.4 多維數(shù)組的聲明 130

7.3 數(shù)組的遍歷 132

7.3.1 使用for語句循環(huán)遍歷數(shù)組 132

7.3.2 聯(lián)合使用list( )、each( )和while循環(huán)遍歷數(shù)組 134

7.3.3 使用foreach語句遍歷數(shù)組 135

7.3.4 使用數(shù)組的內(nèi)部指針控制函數(shù)遍歷數(shù)組 138

7.4 預(yù)定義數(shù)組 139

7.4.1 服務(wù)器變量:Array 140

7.4.2 環(huán)境變量:Array 140

7.4.3 URL GET變量:Array 141

7.4.4 HTTP POST變量:Array 141

7.4.5 request變量:Array 142

7.4.6 HTTP文件上傳變量:Array 142

7.4.7 HTTP Cookies:Array 142

7.4.8 Session變量: 143

7.4.9 Global變量:Array 143

7.5 數(shù)組的相關(guān)處理函數(shù) 143

7.5.1 數(shù)組的鍵/值操作函數(shù) 143

7.5.2 統(tǒng)計(jì)數(shù)組元素的個(gè)數(shù)和唯一性 146

7.5.3 使用回調(diào)函數(shù)處理數(shù)組的函數(shù) 147

7.5.4 數(shù)組的排序函數(shù) 150

7.5.5 拆分、合并、分解和接合數(shù)組 153

7.5.6 數(shù)組與數(shù)據(jù)結(jié)構(gòu) 155

7.5.7 其他有用的數(shù)組處理函數(shù) 157

7.6 操作PHP數(shù)組需要注意的一些細(xì)節(jié) 158

7.6.1 數(shù)組運(yùn)算符號 158

7.6.2 刪除數(shù)組中的元素 159

7.6.3 關(guān)于數(shù)組下標(biāo)的注意事項(xiàng) 159

7.7 小結(jié) 160

第8章 PHP面向?qū)ο蟮某绦蛟O(shè)計(jì) 161

8.1 面向?qū)ο蟾攀? 161

8.1.1 類和對象之間的關(guān)系 161

8.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì) 162

8.2 如何抽象一個(gè)類 163

8.2.1 類的聲明 163

8.2.2 成員屬性 164

8.2.3 成員方法 164

8.3 通過類實(shí)例化對象 166

8.3.1 實(shí)例化對象 166

8.3.2 對象類型在內(nèi)存中的分配 167

8.3.3 對象中成員的訪問 168

8.3.4 特殊的對象引用'' 169

8.3.5 構(gòu)造方法與析構(gòu)方法 171

8.4 封裝性 173

8.4.1 設(shè)置私有成員 174

8.4.2 私有成員的訪問 175

8.4.3 _ _set、_ _get、_ _isset和_ _unset4個(gè)方法 176

8.5 繼承性 180

8.5.1 類繼承的應(yīng)用 181

8.5.2 訪問類型控制 182

8.5.3 子類中重載父類的方法 184

8.6 常見的關(guān)鍵字和魔術(shù)方法 186

8.6.1 final關(guān)鍵字的應(yīng)用 186

8.6.2 static關(guān)鍵字的使用 187

8.6.3 單態(tài)設(shè)計(jì)模式 188

8.6.4 const關(guān)鍵字 189

8.6.5 instanceof關(guān)鍵字 189

8.6.6 克隆對象 190

8.6.7 類中通用的方法_ _toString191

8.6.8 PHP 7新加入的方法_ _ debugInfo191

8.6.9 _ _call方法的應(yīng)用 192

8.6.10 自動(dòng)加載類 194

8.6.11 對象串行化 194

8.7 抽象類與接口 197

8.7.1 抽象類 197

8.7.2 接口技術(shù) 198

8.8 多態(tài)性的應(yīng)用 200

8.9 PHP 5.4的Trait特性 201

8.9.1 Trait的聲明 201

8.9.2 Trait的基本使用 202

8.10 PHP 7的匿名類 204

8.10.1 匿名類的聲明 204

8.10.2 匿名類的應(yīng)用 205

8.11 PHP 5.3新增加的命名空間 206

8.11.1 命名空間的基本應(yīng)用 206

8.11.2 命名空間的子空間和公共空間 208

8.11.3 命名空間中的名稱和術(shù)語 209

8.11.4 別名和導(dǎo)入 209

8.12 面向?qū)ο蟀鎴D形計(jì)算器 211

8.12.1 需求分析 211

8.12.2 功能設(shè)計(jì)及實(shí)現(xiàn) 212

8.12.3 類的組織架構(gòu) 216

8.13 小結(jié) 217

第9章 字符串處理 219

9.1 字符串的處理介紹 219

9.1.1 字符串的處理方式 219

9.1.2 字符串類型的特點(diǎn) 219

9.1.3 雙引號中的變量解析總結(jié) 220

9.2 常用的字符串輸出函數(shù) 221

9.3 常用的字符串格式化函數(shù) 223

9.3.1 去除空格和字符串填補(bǔ)函數(shù) 224

9.3.2 字符串大小寫的轉(zhuǎn)換 225

9.3.3 和HTML標(biāo)簽相關(guān)的字符串格式化 225

9.3.4 其他字符串格式化函數(shù) 228

9.4 字符串比較函數(shù) 229

9.4.1 按字節(jié)順序進(jìn)行字符串比較 230

9.4.2 按自然排序進(jìn)行字符串比較 230

9.5 小結(jié) 231

第10章 正則表達(dá)式 232

10.1 正則表達(dá)式簡介 232

10.2 正則表達(dá)式的語法規(guī)則 233

10.2.1 定界符 233

10.2.2 原子 234

10.2.3 元字符 235

10.2.4 模式修正符 238

10.3 與Perl兼容的正則表達(dá)式函數(shù) 238

10.3.1 字符串的匹配與查找 239

10.3.2 字符串的替換 242

10.3.3 字符串的分割和連接 246

10.4 文章發(fā)布操作示例 248

10.5 小結(jié) 252

第11章 PHP的錯(cuò)誤和異常處理 253

11.1 錯(cuò)誤處理 253

11.1.1 錯(cuò)誤報(bào)告級別 253

11.1.2 調(diào)整錯(cuò)誤報(bào)告級別 254

11.1.3 使用trigger_error函數(shù)代替die函數(shù) 256

11.1.4 自定義錯(cuò)誤處理 256

11.1.5 寫錯(cuò)誤日志 257

11.2 異常處理 259

11.2.1 異常處理實(shí)現(xiàn) 260

11.2.2 擴(kuò)展PHP內(nèi)置的異常處理類 260

11.2.3 捕獲多個(gè)異常 262

11.2.4 PHP異常處理新特性 263

11.3 小結(jié) 264

第12章 PHP的日期和時(shí)間 265

12.1 UNIX時(shí)間戳 265

12.1.1 將日期和時(shí)間轉(zhuǎn)變成UNIX時(shí)間戳 265

12.1.2 日期的計(jì)算 266

12.2 在PHP中獲取日期和時(shí)間 267

12.2.1 調(diào)用getdate函數(shù)取得日期和時(shí)間信息 267

12.2.2 日期和時(shí)間格式化輸出 267

12.3 修改PHP的默認(rèn)時(shí)區(qū) 269

12.4 使用微秒計(jì)算PHP腳本執(zhí)行時(shí)間 269

12.5 日歷類 270

12.6 小結(jié) 273

第13章 文件系統(tǒng)處理 275

13.1 文件系統(tǒng)概述 275

13.1.1 文件類型 275

13.1.2 文件的屬性 276

13.2 的基本操作 278

13.2.1 解析路徑 279

13.2.2 遍歷 280

13.2.3 統(tǒng)計(jì)大小 281

13.2.4 建立和刪除 282

13.2.5 復(fù)制 282

13.3 文件的基本操作 283

13.3.1 文件的打開與關(guān)閉 283

13.3.2 寫入文件 285

13.3.3 讀取文件內(nèi)容 285

13.3.4 訪問遠(yuǎn)程文件 287

13.3.5 移動(dòng)文件指針 288

13.3.6 文件的鎖定機(jī)制 289

13.3.7 文件的一些基本操作函數(shù) 291

13.4 文件的上傳與下載 292

13.4.1 文件上傳 292

13.4.2 處理多個(gè)文件上傳 295

13.4.3 文件下載 296

13.5 設(shè)計(jì)經(jīng)典的文件上傳類 297

13.5.1 需求分析 297

13.5.2 程序設(shè)計(jì) 297

13.5.3 文件上傳類代碼實(shí)現(xiàn) 298

13.5.4 文件上傳類的應(yīng)用過程 301

13.6 小結(jié) 303

第14章 PHP動(dòng)態(tài)圖像處理 304

14.1 PHP中GD庫的使用 304

14.1.1 畫布管理 305

14.1.2 設(shè)置顏色 306

14.1.3 生成圖像 306

14.1.4 繪制圖像 307

14.1.5 在圖像中繪制文字 309

14.2 設(shè)計(jì)經(jīng)典的驗(yàn)證碼類 311

14.2.1 設(shè)計(jì)驗(yàn)證碼類 311

14.2.2 應(yīng)用驗(yàn)證碼類的實(shí)例對象 313

14.2.3 表單中應(yīng)用驗(yàn)證碼 313

14.2.4 實(shí)例演示 314

14.3 PHP圖片處理 314

14.3.1 圖片背景管理 314

14.3.2 圖片縮放 316

14.3.3 圖片裁剪 317

14.3.4 添加圖片水印 318

14.3.5 圖片旋轉(zhuǎn)和翻轉(zhuǎn) 319

14.4 設(shè)計(jì)經(jīng)典的圖像處理類 321

14.4.1 需求分析 322

14.4.2 程序設(shè)計(jì) 322

14.4.3 圖像處理類代碼實(shí)現(xiàn) 323

14.4.4 圖像處理類的應(yīng)用過程 327

14.5 小結(jié) 328

第15章 MySQL數(shù)據(jù)庫概述 329

15.1 數(shù)據(jù)庫的應(yīng)用 329

15.1.1 數(shù)據(jù)庫在Web開發(fā)中的重要地位 329

15.1.2 為什么PHP會(huì)選擇MySQL作為自己的黃金搭檔 330

15.1.3 PHP和MySQL的合作方式 330

15.1.4 結(jié)構(gòu)化查詢語言SQL 331

15.2 MySQL數(shù)據(jù)庫的常見操作 331

15.2.1 MySQL數(shù)據(jù)庫的連接與關(guān)閉 331

15.2.2 創(chuàng)建新用戶并授權(quán) 332

15.2.3 創(chuàng)建數(shù)據(jù)庫 333

15.2.4 創(chuàng)建數(shù)據(jù)表 333

15.2.5 數(shù)據(jù)表內(nèi)容的簡單管理 334

15.3 小結(jié) 335

第16章 MySQL數(shù)據(jù)表的設(shè)計(jì) 336

16.1 數(shù)據(jù)表(Table) 336

16.2 數(shù)據(jù)值和列類型 337

16.2.1 數(shù)值類的數(shù)據(jù)列類型 337

16.2.2 字符串類的數(shù)據(jù)列類型 338

16.2.3 日期和時(shí)間類的數(shù)據(jù)列類型 339

16.2.4 NULL值 339

16.2.5 類型轉(zhuǎn)換 339

16.3 數(shù)據(jù)字段屬性 340

16.4 數(shù)據(jù)表對象管理 340

16.4.1 創(chuàng)建表(CREATE TABLE) 340

16.4.2 修改表(ALTER TABLE) 342

16.4.3 刪除表(DROP TABLE) 342

16.5 數(shù)據(jù)表的類型及存儲(chǔ)位置 343

16.5.1 MyISAM數(shù)據(jù)表 343

16.5.2 InnoDB數(shù)據(jù)表 343

16.5.3 選擇InnoDB還是MyISAM數(shù)據(jù)表類型 343

16.5.4 數(shù)據(jù)表的存儲(chǔ)位置 344

16.6 數(shù)據(jù)表的默認(rèn)字符集 344

16.6.1 字符集 344

16.6.2 字符集支持原理 345

16.6.3 創(chuàng)建數(shù)據(jù)對象時(shí)修改字符集 345

16.7 創(chuàng)建索引 346

16.7.1 主鍵索引(PRIMARY KEY) 346

16.7.2 唯一索引(UNIQUE) 347

16.7.3 常規(guī)索引(INDEX) 347

16.7.4 全文索引(FULLTEXT) 348

16.8 數(shù)據(jù)庫的設(shè)計(jì)技巧 348

16.8.1 數(shù)據(jù)庫的設(shè)計(jì)要求 348

16.8.2 命名的技巧 348

16.8.3 數(shù)據(jù)庫具體設(shè)計(jì)工作中的技巧 349

16.9 小結(jié) 349

第17章 SQL語句設(shè)計(jì) 350

17.1 操作數(shù)據(jù)表中的數(shù)據(jù)記錄(DML) 350

17.1.1 使用INSERT語句向數(shù)據(jù)表中添加數(shù)據(jù) 350

17.1.2 使用UPDATE語句更新數(shù)據(jù)表中已存在的數(shù)據(jù) 351

17.1.3 使用DELETE語句刪除數(shù)據(jù)表中不需要的數(shù)據(jù)記錄 352

17.2 通過DQL命令查詢數(shù)據(jù)表中的數(shù)據(jù) 352

17.2.1 選擇特定的字段 353

17.2.2 使用AS子句為字段取別名 353

17.2.3 DISTINCT關(guān)鍵字的使用 353

17.2.4 在SELECT語句中使用表達(dá)式的列 354

17.2.5 使用WHERE子句按條件檢索 355

17.2.6 根據(jù)空值(NULL)確定檢索條件 356

17.2.7 使用BETWEEN AND進(jìn)行范圍比較查詢 356

17.2.8 使用IN進(jìn)行范圍比較查詢 356

17.2.9 使用LIKE進(jìn)行模糊查詢 356

17.2.10 多表查詢(連接查詢) 357

17.2.11 嵌套查詢(子查詢) 359

17.2.12 使用ORDER BY對查詢結(jié)果排序 359

17.2.13 使用LIMIT限定結(jié)果行數(shù) 360

17.2.14 使用統(tǒng)計(jì)函數(shù) 360

17.2.15 使用GROUP BY對查詢結(jié)果分組 361

17.3 查詢優(yōu)化 362

17.4 小結(jié) 363

第18章 數(shù)據(jù)庫抽象層PDO 364

18.1 PHP訪問MySQL數(shù)據(jù)庫服務(wù)器的流程 364

18.2 PDO所支持的數(shù)據(jù)庫 365

18.3 PDO的安裝 366

18.4 創(chuàng)建PDO對象 367

18.4.1 以多種方式調(diào)用構(gòu)造方法 368

18.4.2 PDO對象中的成員方法 370

18.5 使用PDO對象 370

18.5.1 調(diào)整PDO的行為屬性 370

18.5.2 PDO處理PHP程序和數(shù)據(jù)庫之間的數(shù)據(jù)類型轉(zhuǎn)換 371

18.5.3 PDO的錯(cuò)誤處理模式 371

18.5.4 使用PDO執(zhí)行SQL語句 372

18.6 PDO對預(yù)處理語句的支持 373

18.6.1 了解PDOStatement對象 374

18.6.2 準(zhǔn)備語句 375

18.6.3 綁定參數(shù) 375

18.6.4 執(zhí)行準(zhǔn)備好的查詢 376

18.6.5 獲取數(shù)據(jù) 377

18.6.6 大數(shù)據(jù)對象的存取 380

18.7 PDO的事務(wù)處理 381

18.7.1 MySQL的事務(wù)處理 381

18.7.2 構(gòu)建事務(wù)處理的應(yīng)用程序 382

18.8 設(shè)計(jì)完美分頁類 383

18.8.1 需求分析 383

18.8.2 程序設(shè)計(jì) 383

18.8.3 完美分頁類的代碼實(shí)現(xiàn) 385

18.8.4 完美分頁類的應(yīng)用過程 388

18.9 管理表books實(shí)例 390

18.9.1 需求分析 390

18.9.2 程序設(shè)計(jì) 391

18.10 小結(jié) 397

本章必須掌握的知識(shí)點(diǎn) 397

本章需要了解的內(nèi)容 398

本章需要拓展的內(nèi)容 398

第19章 MemCache管理與應(yīng)用 399

19.1 MemCache概述 399

19.1.1 初識(shí)MemCache 399

19.1.2 MemCache在Web中的應(yīng)用 400

19.2 memcached的安裝及管理 401

19.2.1 Linux下安裝MemCache軟件 401

19.2.2 Windows下安裝MemCache軟件 402

19.2.3 memcached服務(wù)器的管理 403

19.3 使用Telnet作為memcached的客戶端管理 403

19.3.1 連接memcached服務(wù)器 403

19.3.2 基本的memcached客戶端命令 403

19.3.3 查看當(dāng)前memcached服務(wù)器的運(yùn)行狀態(tài)信息 404

19.3.4 數(shù)據(jù)管理指令 404

19.4 PHP的memcached管理接口 405

19.4.1 安裝PHP中的MemCache應(yīng)用程序擴(kuò)展接口 405

19.4.2 MemCache應(yīng)用程序擴(kuò)展接口 407

19.4.3 MemCache的實(shí)例應(yīng)用 411

19.5 memcached服務(wù)器的安全防護(hù) 412

19.6 小結(jié) 412

第20章 會(huì)話控制 414

20.1 為什么要使用會(huì)話控制 414

20.2 會(huì)話跟蹤的方式 415

20.3 Cookie的應(yīng)用 415

20.3.1 Cookie概述 415

20.3.2 向客戶端計(jì)算機(jī)中設(shè)置Cookie 416

20.3.3 在PHP腳本中讀取Cookie的資料內(nèi)容 417

20.3.4 數(shù)組形態(tài)的Cookie應(yīng)用 418

20.3.5 刪除Cookie 418

20.3.6 基于Cookie的用戶登錄模塊 419

20.4 Session的應(yīng)用 420

20.4.1 Session概述 420

20.4.2 配置Session 421

20.4.3 Session的聲明與使用 422

20.4.4 注冊一個(gè)會(huì)話變量和讀取Session 422

20.4.5 注銷變量與銷毀Session 423

20.4.6 Session的自動(dòng)回收機(jī)制 424

20.4.7 傳遞Session ID 425

20.5 一個(gè)簡單的郵件系統(tǒng)實(shí)例 427

20.5.1 為郵件系統(tǒng)準(zhǔn)備數(shù)據(jù) 427

20.5.2 編碼實(shí)現(xiàn)郵件系統(tǒng) 428

20.5.3 郵件系統(tǒng)執(zhí)行說明 430

20.6 自定義Session處理方式 431

20.6.1 自定義Session的存儲(chǔ)機(jī)制 431

20.6.2 使用數(shù)據(jù)庫處理Session信息 433

20.6.3 使用memcached處理Session信息 436

20.7 小結(jié) 438

第21章 Redis的管理與應(yīng)用 439

21.1 從認(rèn)識(shí)Redis開始 439

21.1.1 Redis與其他數(shù)據(jù)庫和軟件的對比 439

21.1.2 Redis的特點(diǎn) 440

21.1.3 使用Redis的理由 440

21.2 Redis環(huán)境安裝及管理 441

21.2.1 安裝Redis 441

21.2.2 啟動(dòng)Redis服務(wù) 442

21.2.3 Redis服務(wù)的性能測試 442

21.2.4 Redis服務(wù)的配置管理 443

21.3 Redis客戶端管理 444

21.3.1 命令行客戶端操作 445

21.3.2 安裝PHP的Redis擴(kuò)展 445

21.4 Redis服務(wù)器的基本操作 446

21.5 Redis的數(shù)據(jù)類型 447

21.6 PHP操作Redis的通用方法 448

21.7 Redis的字符串(String)類型 449

21.7.1 相關(guān)的命令操作 449

21.7.2 應(yīng)用場景 450

21.7.3 使用Redis實(shí)現(xiàn)頁面緩存 450

21.8 Redis的列表(List)類型 451

21.8.1 相關(guān)的命令操作 452

21.8.2 應(yīng)用場景 453

21.8.3 'PHP Redis'實(shí)現(xiàn)消息隊(duì)列 453

21.9 Redis的集合(Set)類型 454

21.9.1 相關(guān)的命令操作 454

21.9.2 應(yīng)用場景 456

21.9.3 'PHP Redis'實(shí)現(xiàn)共同好友功能 456

21.10 Redis的Sorted Set有序集合類型 458

21.10.1 相關(guān)的命令操作 458

21.10.2 應(yīng)用場景 459

21.10.3 'PHP Redis'實(shí)現(xiàn)排行榜功能 460

21.11 Redis的哈希(hash)表類型 461

21.11.1 相關(guān)的命令操作 461

21.11.2 應(yīng)用場景 463

21.11.3 使用Redis實(shí)現(xiàn)購物車功能 463

21.12 Redis訂閱發(fā)布系統(tǒng) 465

21.12.1 Redis 發(fā)布訂閱 465

21.12.2 Redis 發(fā)布訂閱操作 465

21.13 Redis的事務(wù)處理機(jī)制 466

21.14 小結(jié) 467

第22章 PHP的CURL功能擴(kuò)展模塊 468

22.1 CURL功能擴(kuò)展模塊介紹 468

22.2 PHP的CURL功能擴(kuò)展模塊基本用法 469

22.3 CURL相關(guān)的功能選項(xiàng) 470

22.4 通過CURL擴(kuò)展獲取頁面信息 471

22.5 通過CURL擴(kuò)展用POST方法發(fā)送數(shù)據(jù) 473

22.6 通過CURL擴(kuò)展上傳文件 474

22.7 通過CURL模擬登錄并獲取數(shù)據(jù) 476

22.8 小結(jié) 477

第23章 自定義PHP接口規(guī)范 478

23.1 應(yīng)用程序編程接口(API) 478

23.1.1 什么是接口 478

23.1.2 了解實(shí)現(xiàn)接口的幾種方法 479

23.1.3 接口的應(yīng)用和優(yōu)勢 480

23.2 接口實(shí)現(xiàn)的基礎(chǔ) 482

23.2.1 實(shí)現(xiàn)接口的訪問流程 482

23.2.2 處理接口的返回值 483

23.2.3 在程序中訪問接口 484

23.3 接口的安全控制規(guī)范 486

23.3.1 API安全控制原則 487

23.3.2 API安全控制簡單實(shí)現(xiàn)步驟 487

23.4 API的設(shè)計(jì)原則和規(guī)范 491

23.4.1 什么是RESTful風(fēng)格的API 491

23.4.2 RESTful API應(yīng)遵循的原則 491

23.5 創(chuàng)建RESTful規(guī)范 WebAPI框架 495

23.5.1 程序結(jié)構(gòu)設(shè)計(jì) 495

23.5.2 架構(gòu)詳解 496

23.5.3 WebAPI框架應(yīng)用 502

23.5.4 客戶端訪問API 507

23.6 使用第三方接口服務(wù)實(shí)例 509

23.6.1 查找API 509

23.6.2 查看API文檔說明 509

23.6.3 獲取接口的key 510

23.6.4 使用 PHP 代碼請求接口 510

23.7 小結(jié) 511

第24章 PHP依賴管理工具Composer 513

24.1 認(rèn)識(shí)Composer 513

24.1.1 什么是Composer 513

24.1.2 Composer的代碼庫在哪里 514

24.1.3 類庫的規(guī)范 515

24.2 Composer的安裝 515

24.2.1 安裝前的準(zhǔn)備 515

24.2.2 安裝步驟 515

24.2.3 測試安裝環(huán)境 516

24.3 Composer常用文件 517

24.3.1 vendor 517

24.3.2 composer.json 文件 517

24.3.3 composer.lock 文件 518

24.4 Composer常用命令 519

24.4.1 Composer基本命令的使用 519

24.4.2 Composer命令的運(yùn)行流程 520

24.5 Composer應(yīng)用案例 521

24.5.1 搜索需要的庫 521

24.5.2 應(yīng)用前準(zhǔn)備 522

24.5.3 應(yīng)用類庫 523

24.6 小結(jié) 525

第25章 MVC模式與PHP框架 526

25.1 MVC模式在Web中的應(yīng)用 526

25.1.1 MVC模式的工作原理 526

25.1.2 MVC模式的優(yōu)缺點(diǎn) 527

25.2 PHP開發(fā)框架 528

25.2.1 什么是框架 528

25.2.2 為什么要用框架 529

25.2.3 框架和MVC模式的關(guān)系 529

25.2.4 流行的PHP框架比較 530

25.3 劃分模塊和操作 532

25.3.1 為項(xiàng)目劃分模塊 532

25.3.2 為模塊設(shè)置操作 532

25.4 小結(jié) 533

第26章 簡潔優(yōu)雅的Laravel開發(fā)框架 534

26.1 認(rèn)識(shí)Laravel框架 534

26.1.1 什么是Laravel框架 534

26.1.2 Laravel框架的功能特點(diǎn) 534

26.1.3 Laravel框架的技術(shù)特點(diǎn) 535

26.1.4 Laravel框架應(yīng)用的重要性 536

26.1.5 Laravel框架的發(fā)展歷程 536

26.2 安裝Laravel 538

26.2.1 安裝前準(zhǔn)備 538

26.2.2 安裝Laravel 5.5 539

26.2.3 Laravel框架的結(jié)構(gòu) 540

26.2.4 初始化Laravel框架安裝的一些設(shè)置 542

26.2.5 Laravel框架的Artisan工具 544

26.3 Laravel框架的工作流程 544

26.3.1 基本的工作流程 545

26.3.2 客戶端 546

26.3.3 主入口文件 546

26.3.4 URL路由 546

26.3.5 控制器層(C) 547

26.3.6 中間件 548

26.3.7 數(shù)據(jù)庫操作層(M) 550

26.3.8 視圖層(V) 553

26.3.9 請求和響應(yīng) 556

26.4 Laravel框架的核心服務(wù)容器 561

26.4.1 IoC 容器 561

26.4.2 了解Laravel框架的核心 562

26.4.3 注冊自己的服務(wù)到容器中 566

26.4.4 門面(Facades) 567

26.4.5 使用Composer為Laravel框架安裝擴(kuò)展插件包 569

26.5 基于Laravel框架的Web應(yīng)用實(shí)例 571

26.5.1 用戶登錄模塊 571

26.5.2 后臺(tái)管理平臺(tái)模塊 573

26.5.3 文章模塊 575

26.5.4 搭建前臺(tái)模塊 584

26.5.5 評論模塊 586

26.6 基于Laravel 5.5的API應(yīng)用實(shí)例 590

26.6.1 構(gòu)建接口模塊 590

26.6.2 封裝返回的統(tǒng)一消息 591

26.6.3 為API增加版本 593

26.6.4 API token認(rèn)證 593

26.6.5 編寫文檔和測試 596

26.7 小結(jié) 596

第27章 項(xiàng)目開發(fā)實(shí)戰(zhàn)——博客系統(tǒng) 597

27.1 項(xiàng)目介紹 597

27.2 需求分析 597

27.2.1 系統(tǒng)目標(biāo) 598

27.2.2 系統(tǒng)功能結(jié)構(gòu) 598

27.2.3 權(quán)限介紹 599

27.3 操作流程圖 599

27.3.1 博客前臺(tái)操作流程 599

27.3.2 博客后臺(tái)操作流程 600

27.4 原型圖 600

27.4.1 什么是原型圖 600

27.4.2 原型圖的分類 600

27.4.3 項(xiàng)目部分原型頁面展示 601

27.5 博客項(xiàng)目的模塊介紹 604

27.5.1 前臺(tái)模塊 604

27.5.2 后臺(tái)模塊 604

27.5.3 前后臺(tái)模塊思維導(dǎo)圖 605

27.6 數(shù)據(jù)庫設(shè)計(jì)說明 606

27.6.1 概念結(jié)構(gòu)設(shè)計(jì) 606

27.6.2 通過實(shí)體得到ER圖 606

27.6.3 邏輯結(jié)構(gòu)設(shè)計(jì) 607

27.6.4 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì) 608

27.7 程序設(shè)計(jì)說明 610

27.7.1 環(huán)境部署 611

27.7.2 權(quán)限設(shè)置 611

27.7.3 項(xiàng)目結(jié)構(gòu) 611

27.7.4 項(xiàng)目模塊結(jié)構(gòu) 612

27.7.5 項(xiàng)目程序結(jié)構(gòu) 612

27.7.6 模型說明 616

27.7.7 自定義類及安裝的組件 617

27.8 項(xiàng)目安裝和部署 617

27.8.1 搭建虛擬主機(jī) 617

27.8.2 導(dǎo)入數(shù)據(jù)庫 618

27.8.3 項(xiàng)目應(yīng)用 618

27.9 本章作業(yè) 619

27.9.1 任務(wù)一:修改網(wǎng)站配置模塊 619

27.9.2 任務(wù)二:添加友情鏈接模塊 622

27.10 小結(jié) 624

第28章 在線教育系統(tǒng)EDUPlayer 625

28.1 項(xiàng)目背景 625

28.2 需求分析 625

28.2.1 系統(tǒng)目標(biāo) 625

28.2.2 前后端分離架構(gòu) 626

28.2.3 系統(tǒng)功能結(jié)構(gòu) 626

28.2.4 權(quán)限介紹 626

28.3 操作流程 627

28.3.1 前臺(tái)操作流程 628

28.3.2 后臺(tái)操作流程 628

28.4 原型圖 629

28.5 系統(tǒng)模塊介紹 631

28.5.1 前臺(tái)模塊 631

28.5.2 后臺(tái)模塊 632

28.5.3 前臺(tái)模塊思維導(dǎo)圖 632

28.5.4 后臺(tái)模塊思維導(dǎo)圖 632

28.6 數(shù)據(jù)庫設(shè)計(jì)說明 633

28.6.1 概念結(jié)構(gòu)設(shè)計(jì) 634

28.6.2 通過實(shí)體獲取ER圖 634

28.6.3 Laravel 框架的數(shù)據(jù)表遷移工具 635

28.6.4 數(shù)據(jù)表詳解 635

28.7 項(xiàng)目安裝 656

28.7.1 環(huán)境依賴 656

28.7.2 環(huán)境安裝之 nginx 657

28.7.3 環(huán)境安裝之 PHP 657

28.7.4 環(huán)境安裝之MySQL 658

28.7.5 環(huán)境安裝之 Redis 659

28.7.6 環(huán)境安裝之Git 659

28.7.7 環(huán)境安裝之 Composer 659

28.7.8 項(xiàng)目下載及配置 660

28.7.9 虛擬主機(jī)配置 661

28.7.10 開啟定時(shí)任務(wù) 662

28.7.11 Redis隊(duì)列實(shí)現(xiàn) 662

28.7.12 安裝成功 663

28.8 結(jié)構(gòu) 663

28.8.1 根 663

28.8.2 app 664

28.9 依賴組件 665

28.10 二次開發(fā)注意事項(xiàng) 666

28.10.1 搜索參數(shù)和排序參數(shù)約束 666

28.10.2 關(guān)聯(lián)加載約束 667

28.10.3 權(quán)限驗(yàn)證約束 668

28.10.4 開發(fā)新業(yè)務(wù)示例 668

28.11 小結(jié) 669

附錄 671

附錄A 編碼規(guī)范 672

附錄B PHP項(xiàng)目的安全和優(yōu)化 683

附錄C PHP 5.3~PHP 5.6中的新特性 695

關(guān)鍵詞:目錄

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉