關(guān)于我們
書單推薦
新書推薦
|
細(xì)說(shuō)PHP(第4版) 讀者對(duì)象:在校大學(xué)生、PHP初學(xué)者、剛參加工作不久的Web開發(fā)程序員
本書是暢銷書升級(jí)版,全書共分為28章,每章都是PHP獨(dú)立知識(shí)點(diǎn)的總結(jié),全部以現(xiàn)在最新的PHP7以上版本應(yīng)用語(yǔ)法為主。內(nèi)容涵蓋了動(dòng)態(tài)網(wǎng)站開發(fā)所需要的后端全棧技術(shù)、PHP的常用功能模塊和實(shí)用技巧、MySQL和Redis兩種數(shù)據(jù)庫(kù)的設(shè)計(jì)與應(yīng)用、PHP面向?qū)ο蟮某绦蛟O(shè)計(jì)思想、數(shù)據(jù)庫(kù)抽象層PDO、Web開發(fā)的設(shè)計(jì)模式、自定義接口技術(shù)、全球應(yīng)用排行第一的Laravel5.5框架技術(shù),并專門組建專業(yè)的開發(fā)團(tuán)隊(duì)為本書重新開發(fā)商業(yè)項(xiàng)目EUDPlayer作為案例等。每章都有大量的實(shí)用示例及詳盡的注釋,以加速讀者的理解和學(xué)習(xí),并為本書單獨(dú)開發(fā)一個(gè)微信小程序(圖書兄弟),提供和章節(jié)配套的精制視頻教程、案例和課件下載、擴(kuò)展文章、章節(jié)測(cè)試等多方位內(nèi)容。對(duì)于PHP應(yīng)用開發(fā)的新手而言,本書不失為一本好的入門教材,內(nèi)容既實(shí)用又全面,所有實(shí)例都可以在開發(fā)中直接應(yīng)用,并輔以配套的視頻教程,使讀者輕松掌握所學(xué)知識(shí)。另外,本書也適合有一定基礎(chǔ)的網(wǎng)絡(luò)開發(fā)人員和網(wǎng)絡(luò)愛好者,以及大中專院校的師生閱讀與參考。不僅可以作為PHP開發(fā)的學(xué)習(xí)用書,還可以作為從事Web開發(fā)的程序員的參考用書和必備手冊(cè)。對(duì)于行家來(lái)說(shuō),本書也是一本難得的參考手冊(cè),讀者必將從中獲益。
IT兄弟連【易第優(yōu)(北京)科技股份有限公司】副總裁,PHP中文網(wǎng)(php.cn)首席專家,擁有十多年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù),具有扎實(shí)的技術(shù)功底。國(guó)內(nèi)資深技術(shù)講師,騰訊網(wǎng)絡(luò)人氣名人講師,累計(jì)授課長(zhǎng)達(dá)一萬(wàn)課時(shí)以上,培養(yǎng)了近百名IT名師,培訓(xùn)數(shù)千名學(xué)員成功走向IT崗位。熟悉掌握當(dāng)前應(yīng)用的各種主流編程語(yǔ)言和數(shù)據(jù)庫(kù),其中,對(duì)Web系統(tǒng)開發(fā)深有研究,近年來(lái)致力于推廣開源的PHP技術(shù)。
目錄
第1章 LAMP網(wǎng)站構(gòu)建 1 1.1 Web概述 1 1.1.1 Web應(yīng)用的優(yōu)勢(shì) 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í)腳本語(yǔ)言 5 1.2 動(dòng)態(tài)網(wǎng)站開發(fā)所需的Web構(gòu)件 5 1.2.1 客戶端瀏覽器 6 1.2.2 超文本標(biāo)記語(yǔ)言(HTML) 7 1.2.3 層疊樣式表(CSS) 8 1.2.4 客戶端腳本編程語(yǔ)言JavaScript 8 1.2.5 Web服務(wù)器 9 1.2.6 服務(wù)器端編程語(yǔ)言 10 1.2.7 數(shù)據(jù)庫(kù)管理系統(tǒng) 10 1.3 幾種主流的Web應(yīng)用程序平臺(tái) 11 1.3.1 Web應(yīng)用程序開發(fā)平臺(tái)對(duì)比分析 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請(qǐng)求消息 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ù)庫(kù)的服務(wù)器 17 1.5.2 情景2:帶應(yīng)用程序服務(wù)器的Web服務(wù)器 18 1.5.3 情景3:瀏覽器訪問服務(wù)器端的數(shù)據(jù)庫(kù) 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ù)庫(kù)管理系統(tǒng) 20 1.6.4 PHP后臺(tái)腳本編程語(yǔ)言 21 1.6.5 LAMP的發(fā)展趨勢(shì) 21 1.6.6 Web的未來(lái)發(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 對(duì)微信公眾平臺(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)勢(shì) 29 2.3.1 簡(jiǎn)單易學(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的迭代過(guò)程 32 2.4.3 PHP的現(xiàn)在 33 2.4.4 PHP的未來(lái) 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í)變得簡(jiǎn)單 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)境安裝對(duì)操作系統(tǒng)的選擇 41 3.2.1 選擇網(wǎng)站運(yùn)營(yíng)的操作系統(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)境測(cè)試 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的基本語(yǔ)法 50 4.1 第一個(gè)PHP腳本程序 50 4.2 PHP語(yǔ)言標(biāo)記 52 4.2.1 將PHP代碼嵌入HTML中的位置 53 4.2.2 解讀開始和結(jié)束標(biāo)記 53 4.3 指令分隔符“分號(hào)” 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 對(duì)象(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 變量類型的測(cè)試函數(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)先級(jí) 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語(yǔ)句) 89 5.1.5 巢狀條件分支結(jié)構(gòu) 91 5.1.6 條件分支結(jié)構(gòu)實(shí)例應(yīng)用(簡(jiǎn)單計(jì)算器) 92 5.2 循環(huán)結(jié)構(gòu) 93 5.2.1 while語(yǔ)句 94 5.2.2 do…while循環(huán) 95 5.2.3 for語(yǔ)句 96 5.3 特殊的流程控制語(yǔ)句 99 5.3.1 break語(yǔ)句 99 5.3.2 continue語(yǔ)句 99 5.3.3 exit語(yǔ)句 100 5.4 PHP的新版特性——goto語(yǔ)句 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ù)庫(kù) 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()語(yǔ)言結(jié)構(gòu)新建數(shù)組 129 7.2.3 數(shù)組簡(jiǎn)寫語(yǔ)法 130 7.2.4 多維數(shù)組的聲明 130 7.3 數(shù)組的遍歷 132 7.3.1 使用for語(yǔ)句循環(huán)遍歷數(shù)組 132 7.3.2 聯(lián)合使用list( )、each( )和while循環(huán)遍歷數(shù)組 134 7.3.3 使用foreach語(yǔ)句遍歷數(shù)組 135 7.3.4 使用數(shù)組的內(nèi)部指針控制函數(shù)遍歷數(shù)組 138 7.4 預(yù)定義數(shù)組 139 7.4.1 服務(wù)器變量:$_SERVER 140 7.4.2 環(huán)境變量:$_ENV 140 7.4.3 URL GET變量:$_GET 141 7.4.4 HTTP POST變量:$_POST 141 7.4.5 request變量:$_REQUEST 142 7.4.6 HTTP文件上傳變量:$_FILES 142 7.4.7 HTTP Cookies:$_COOKIE 142 7.4.8 Session變量:$_SESSION 143 7.4.9 Global變量:$GLOBALS 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)算符號(hào) 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 類和對(duì)象之間的關(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 通過(guò)類實(shí)例化對(duì)象 166 8.3.1 實(shí)例化對(duì)象 166 8.3.2 對(duì)象類型在內(nèi)存中的分配 167 8.3.3 對(duì)象中成員的訪問 168 8.3.4 特殊的對(duì)象引用“$this” 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()和_ _unset() 4個(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 克隆對(duì)象 190 8.6.7 類中通用的方法_ _toString() 191 8.6.8 PHP 7新加入的方法_ _ debugInfo() 191 8.6.9 _ _call()方法的應(yīng)用 192 8.6.10 自動(dòng)加載類 194 8.6.11 對(duì)象串行化 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ù)語(yǔ) 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 雙引號(hào)中的變量解析總結(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á)式簡(jiǎn)介 232 10.2 正則表達(dá)式的語(yǔ)法規(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)告級(jí)別 253 11.1.2 調(diào)整錯(cuò)誤報(bào)告級(jí)別 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)用過(guò)程 301 13.6 小結(jié) 303 第14章 PHP動(dòng)態(tài)圖像處理 304 14.1 PHP中GD庫(kù)的使用 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í)例對(duì)象 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)用過(guò)程 327 14.5 小結(jié) 328 第15章 MySQL數(shù)據(jù)庫(kù)概述 329 15.1 數(shù)據(jù)庫(kù)的應(yīng)用 329 15.1.1 數(shù)據(jù)庫(kù)在Web開發(fā)中的重要地位 329 15.1.2 為什么PHP會(huì)選擇MySQL作為自己的黃金搭檔 330 15.1.3 PHP和MySQL的合作方式 330 15.1.4 結(jié)構(gòu)化查詢語(yǔ)言SQL 331 15.2 MySQL數(shù)據(jù)庫(kù)的常見操作 331 15.2.1 MySQL數(shù)據(jù)庫(kù)的連接與關(guān)閉 331 15.2.2 創(chuàng)建新用戶并授權(quán) 332 15.2.3 創(chuàng)建數(shù)據(jù)庫(kù) 333 15.2.4 創(chuàng)建數(shù)據(jù)表 333 15.2.5 數(shù)據(jù)表內(nèi)容的簡(jiǎn)單管理 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ù)表對(duì)象管理 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ù)對(duì)象時(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ù)庫(kù)的設(shè)計(jì)技巧 348 16.8.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)要求 348 16.8.2 命名的技巧 348 16.8.3 數(shù)據(jù)庫(kù)具體設(shè)計(jì)工作中的技巧 349 16.9 小結(jié) 349 第17章 SQL語(yǔ)句設(shè)計(jì) 350 17.1 操作數(shù)據(jù)表中的數(shù)據(jù)記錄(DML) 350 17.1.1 使用INSERT語(yǔ)句向數(shù)據(jù)表中添加數(shù)據(jù) 350 17.1.2 使用UPDATE語(yǔ)句更新數(shù)據(jù)表中已存在的數(shù)據(jù) 351 17.1.3 使用DELETE語(yǔ)句刪除數(shù)據(jù)表中不需要的數(shù)據(jù)記錄 352 17.2 通過(guò)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語(yǔ)句中使用表達(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對(duì)查詢結(jié)果排序 359 17.2.13 使用LIMIT限定結(jié)果行數(shù) 360 17.2.14 使用統(tǒng)計(jì)函數(shù) 360 17.2.15 使用GROUP BY對(duì)查詢結(jié)果分組 361 17.3 查詢優(yōu)化 362 17.4 小結(jié) 363 第18章 數(shù)據(jù)庫(kù)抽象層PDO 364 18.1 PHP訪問MySQL數(shù)據(jù)庫(kù)服務(wù)器的流程 364 18.2 PDO所支持的數(shù)據(jù)庫(kù) 365 18.3 PDO的安裝 366 18.4 創(chuàng)建PDO對(duì)象 367 18.4.1 以多種方式調(diào)用構(gòu)造方法 368 18.4.2 PDO對(duì)象中的成員方法 370 18.5 使用PDO對(duì)象 370 18.5.1 調(diào)整PDO的行為屬性 370 18.5.2 PDO處理PHP程序和數(shù)據(jù)庫(kù)之間的數(shù)據(jù)類型轉(zhuǎn)換 371 18.5.3 PDO的錯(cuò)誤處理模式 371 18.5.4 使用PDO執(zhí)行SQL語(yǔ)句 372 18.6 PDO對(duì)預(yù)處理語(yǔ)句的支持 373 18.6.1 了解PDOStatement對(duì)象 374 18.6.2 準(zhǔn)備語(yǔ)句 375 18.6.3 綁定參數(shù) 375 18.6.4 執(zhí)行準(zhǔn)備好的查詢 376 18.6.5 獲取數(shù)據(jù) 377 18.6.6 大數(shù)據(jù)對(duì)象的存取 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ì)完美分頁(yè)類 383 18.8.1 需求分析 383 18.8.2 程序設(shè)計(jì) 383 18.8.3 完美分頁(yè)類的代碼實(shí)現(xiàn) 385 18.8.4 完美分頁(yè)類的應(yīng)用過(guò)程 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 注冊(cè)一個(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è)簡(jiǎn)單的郵件系統(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í)行說(shuō)明 430 20.6 自定義Session處理方式 431 20.6.1 自定義Session的存儲(chǔ)機(jī)制 431 20.6.2 使用數(shù)據(jù)庫(kù)處理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ù)庫(kù)和軟件的對(duì)比 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ù)的性能測(cè)試 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)用場(chǎng)景 450 21.7.3 使用Redis實(shí)現(xiàn)頁(yè)面緩存 450 21.8 Redis的列表(List)類型 451 21.8.1 相關(guān)的命令操作 452 21.8.2 應(yīng)用場(chǎ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)用場(chǎ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)用場(chǎ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)用場(chǎng)景 463 21.11.3 使用Redis實(shí)現(xiàn)購(gòu)物車功能 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 通過(guò)CURL擴(kuò)展獲取頁(yè)面信息 471 22.5 通過(guò)CURL擴(kuò)展用POST方法發(fā)送數(shù)據(jù) 473 22.6 通過(guò)CURL擴(kuò)展上傳文件 474 22.7 通過(guò)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)勢(shì) 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安全控制簡(jiǎn)單實(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文檔說(shuō)明 509 23.6.3 獲取接口的key 510 23.6.4 使用 PHP 代碼請(qǐng)求接口 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的代碼庫(kù)在哪里 514 24.1.3 類庫(kù)的規(guī)范 515 24.2 Composer的安裝 515 24.2.1 安裝前的準(zhǔn)備 515 24.2.2 安裝步驟 515 24.2.3 測(cè)試安裝環(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 搜索需要的庫(kù) 521 24.5.2 應(yīng)用前準(zhǔn)備 522 24.5.3 應(yīng)用類庫(kù) 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章 簡(jiǎn)潔優(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ù)庫(kù)操作層(M) 550 26.3.8 視圖層(V) 553 26.3.9 請(qǐng)求和響應(yīng) 556 26.4 Laravel框架的核心服務(wù)容器 561 26.4.1 IoC 容器 561 26.4.2 了解Laravel框架的核心 562 26.4.3 注冊(cè)自己的服務(wù)到容器中 566 26.4.4 門面(Facades) 567 26.4.5 使用Composer為L(zhǎng)aravel框架安裝擴(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 評(píng)論模塊 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 編寫文檔和測(cè)試 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)目部分原型頁(yè)面展示 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ù)庫(kù)設(shè)計(jì)說(shuō)明 606 27.6.1 概念結(jié)構(gòu)設(shè)計(jì) 606 27.6.2 通過(guò)實(shí)體得到ER圖 606 27.6.3 邏輯結(jié)構(gòu)設(shè)計(jì) 607 27.6.4 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì) 608 27.7 程序設(shè)計(jì)說(shuō)明 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 模型說(shuō)明 616 27.7.7 自定義類及安裝的組件 617 27.8 項(xiàng)目安裝和部署 617 27.8.1 搭建虛擬主機(jī) 617 27.8.2 導(dǎo)入數(shù)據(jù)庫(kù) 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ù)庫(kù)設(shè)計(jì)說(shuō)明 633 28.6.1 概念結(jié)構(gòu)設(shè)計(jì) 634 28.6.2 通過(guò)實(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
你還可能感興趣
我要評(píng)論
|