第1章
LAMP網(wǎng)站構(gòu)建
1
1.1 介紹網(wǎng)站給你認(rèn)識(shí)
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í)腳本語言 5
1.1.5 了解HTTP協(xié)議
5
1.2 動(dòng)態(tài)網(wǎng)站開發(fā)所需的Web構(gòu)件
10
1.2.1 客戶端瀏覽器 10
1.2.2 超文本標(biāo)記語言HTML
12
1.2.3 層疊樣式表CSS 13
1.2.4 客戶端腳本編程語言JavaScript
13
1.2.5 Web服務(wù)器
14
1.2.6 服務(wù)器端編程語言 16
1.2.7 數(shù)據(jù)庫管理系統(tǒng)
16
1.3 幾種主流的Web應(yīng)用程序平臺(tái) 17
1.3.1 Web應(yīng)用程序開發(fā)平臺(tái)對(duì)比分析 18
1.3.2 動(dòng)態(tài)網(wǎng)站開發(fā)平臺(tái)技術(shù)比較 19
1.4 Web的工作原理 19
1.4.1 情景1:服務(wù)器不帶應(yīng)用程序服務(wù)器和數(shù)據(jù)庫 19
1.4.2 情景2:帶應(yīng)用程序服務(wù)器的Web服務(wù)器 21
1.4.3 情景3:瀏覽器訪問服務(wù)器端的數(shù)據(jù)庫 21
1.5 LAMP網(wǎng)站開發(fā)組合概述 22
1.5.1 Linux操作系統(tǒng) 22
1.5.2 Web服務(wù)器Apache 23
1.5.3 MySQL數(shù)據(jù)庫管理系統(tǒng) 24
1.5.4 PHP后臺(tái)腳本編程語言 24
1.5.5 LAMP發(fā)展趨勢(shì) 25
第2章 從搭建你的PHP開發(fā)環(huán)境開始 27
2.1 幾種常見的PHP環(huán)境安裝方式 27
2.1.1 Linux系統(tǒng)下源代碼包方式安裝環(huán)境
27
2.1.2 在Windows系統(tǒng)上安裝Web工作環(huán)境 28
2.1.3 搭建學(xué)習(xí)型的PHP工作環(huán)境 28
2.2 環(huán)境安裝對(duì)操作系統(tǒng)的選擇
29
2.2.1 選擇網(wǎng)站運(yùn)營的操作系統(tǒng)
29
2.2.2 選擇網(wǎng)站開發(fā)的操作系統(tǒng)
29
2.3 安裝集成PHP開發(fā)環(huán)境
30
2.3.1 安裝前準(zhǔn)備
30
2.3.2 安裝步驟 30
2.3.3 環(huán)境測(cè)試 33
第3章
PHP的基本語法 36
3.1 PHP在Web開發(fā)中的應(yīng)用
36
3.1.1 就從認(rèn)識(shí)PHP開始吧
36
3.1.2 PHP都能做什么
37
3.2 第一個(gè)PHP腳本程序 39
3.3 PHP語言標(biāo)記
42
3.3.1 將PHP代碼嵌入HTML中的位置
43
3.3.2 解讀開始和結(jié)束標(biāo)記
44
3.4 指令分隔符“分號(hào)” 45
3.5 程序注釋
45
3.6 在程序中使用空白的處理 47
3.7 變量
48
3.7.1 變量的聲明
48
3.7.2 變量的命名
49
3.7.3 可變變量 51
3.7.4 變量的引用賦值
51
3.8 變量的類型 52
3.8.1 類型介紹 52
3.8.2 布爾型(boolean) 53
3.8.3 整型(integer)
54
3.8.4 浮點(diǎn)型(float或double)
55
3.8.5 字符串(string)
55
3.8.6 數(shù)組(array) 57
3.8.7 對(duì)象(object)
58
3.8.8 資源類型(resource) 58
3.8.9 NULL類型 59
3.8.10 偽類型介紹
59
3.9 數(shù)據(jù)類型之間相互轉(zhuǎn)換
60
3.9.1 自動(dòng)類型轉(zhuǎn)換 60
3.9.2 強(qiáng)制類型轉(zhuǎn)換 61
3.9.3 類型轉(zhuǎn)換細(xì)節(jié) 62
3.10 常量 62
3.10.1 常量的定義和使用 62
3.10.2 常量和變量
63
3.11 PHP中的運(yùn)算符 63
3.11.1 算術(shù)運(yùn)算符
64
3.11.2 字符串運(yùn)算符 66
3.11.3 賦值運(yùn)算符
67
3.11.4 比較運(yùn)算符
68
3.11.5 邏輯運(yùn)算符
69
3.11.6 位運(yùn)算符 70
3.11.7 其他運(yùn)算符
73
3.11.8 運(yùn)算符的優(yōu)先級(jí)
74
3.12 表達(dá)式 75
第4章
PHP的流程控制結(jié)構(gòu) 76
4.1 分支結(jié)構(gòu)
76
4.1.1 單一條件分支結(jié)構(gòu)(if) 77
4.1.2 雙向條件分支結(jié)構(gòu)(else從句) 78
4.1.3 多向條件分支結(jié)構(gòu)(elseif子句) 79
4.1.4 多向條件分支結(jié)構(gòu)(switch語句)
80
4.1.5 巢狀條件分支結(jié)構(gòu) 82
4.2 循環(huán)結(jié)構(gòu)
83
4.2.1 while語句 84
4.2.2 do…while循環(huán) 86
4.2.3 for語句
87
4.3 特殊的流程控制語句 90
4.3.1 break語句
90
4.3.2 continue語句 91
4.3.3 exit語句 91
第5章
PHP的函數(shù)應(yīng)用 93
5.1 函數(shù)的定義 93
5.2 自定義函數(shù) 94
5.2.1 函數(shù)的聲明
94
5.2.2 函數(shù)的調(diào)用
96
5.2.3 函數(shù)的參數(shù)
97
5.2.4 函數(shù)的返回值 98
5.3 PHP變量的范圍 100
5.3.1 局部變量 100
5.3.2 全局變量 101
5.4 聲明及應(yīng)用各種形式的PHP函數(shù)
103
5.4.1 常規(guī)參數(shù)的函數(shù)
104
5.4.2 偽類型參數(shù)的函數(shù) 104
5.4.3 引用參數(shù)的函數(shù)
105
5.4.4 默認(rèn)參數(shù)的函數(shù)
106
5.4.5 可變個(gè)數(shù)參數(shù)的函數(shù)
108
5.4.6 回調(diào)函數(shù) 108
5.5 使用自定義函數(shù)庫
111
第6章
PHP中的數(shù)組與數(shù)據(jù)結(jié)構(gòu)
112
6.1 數(shù)組的分類 112
6.2 數(shù)組的定義 114
6.2.1 直接賦值的方式聲明數(shù)組
114
6.2.2 使用array()語言結(jié)構(gòu)新建數(shù)組
116
6.2.3 多維數(shù)組的聲明
117
6.3 數(shù)組的遍歷 119
6.3.1 使用for語句循環(huán)遍歷數(shù)組 120
6.3.2 使用foreach語句遍歷數(shù)組
122
6.4 預(yù)定義數(shù)組 125
6.4.1 服務(wù)器變量:$_SERVER 126
6.4.2 環(huán)境變量:$_ENV
126
6.4.3 URL GET變量:$_GET
126
6.4.4 HTTP POST變量:$_POST
127
6.4.5 request變量:$_REQUEST
128
6.4.6 HTTP文件上傳變量:$_FILES 128
6.4.7 HTTP Cookies:$_COOKIE
129
6.4.8 Session變量:$_SESSION 129
6.4.9 Global變量:$GLOBALS 129
第7章
PHP面向?qū)ο蟮某绦蛟O(shè)計(jì)
130
7.1 面向?qū)ο蟮慕榻B 130
7.1.1 類和對(duì)象之間的關(guān)系
131
7.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)
132
7.2 如何抽象一個(gè)類 132
7.2.1 類的聲明 133
7.2.2 成員屬性 133
7.2.3 成員方法 134
7.3 通過類實(shí)例化對(duì)象
136
7.3.1 實(shí)例化對(duì)象
136
7.3.2 對(duì)象中成員的訪問 137
7.3.3 特殊的對(duì)象引用“$this”
139
7.3.4 構(gòu)造方法與析構(gòu)方法
141
7.4 封裝性 144
7.4.1 設(shè)置私有成員 144
7.4.2 私有成員的訪問
145
7.4.3 __set()和__get()方法
147
7.5 繼承性 151
7.5.1 類繼承的應(yīng)用 152
7.5.2 訪問類型控制 153
7.5.3 子類中重載父類的方法 155
7.6 常見的關(guān)鍵字和魔術(shù)方法 158
7.6.1 final關(guān)鍵字的應(yīng)用 158
7.6.2 static關(guān)鍵字的使用 159
7.6.3 const關(guān)鍵字
160
7.6.4 克隆對(duì)象 161
7.6.5 類中通用的方法__toString()
162
7.6.6 __call()方法的應(yīng)用 163
7.6.7 自動(dòng)加載類
164
第8章 字符串處理 165
8.1 字符串的處理介紹
165
8.1.1 字符串的處理方式 165
8.1.2 字符串類型的特點(diǎn) 166
8.1.3 雙引號(hào)中變量解析總結(jié) 167
8.2 常用的字符串輸出函數(shù)
167
8.3 常用的字符串格式化函數(shù) 170
8.3.1 去除空格和字符串填補(bǔ)函數(shù) 171
8.3.2 字符串大小寫的轉(zhuǎn)換
172
8.3.3 和HTML標(biāo)簽相關(guān)的字符串格式化
172
第9章 正則表達(dá)式 177
9.1 正則表達(dá)式簡(jiǎn)介 177
9.1.1 選擇PHP正則表達(dá)式的處理函數(shù)庫
177
9.2 正則表達(dá)式的語法規(guī)則
178
9.2.1 定界符
179
9.2.2 原子 179
9.2.3 元字符
181
9.2.4 模式修正符
184
9.3 與Perl兼容的正則表達(dá)式函數(shù) 185
9.3.1 字符串的匹配與查找
185
9.3.2 字符串的替換 189
9.3.3 字符串的分割和連接
194
第10章 文件系統(tǒng)處理
197
10.1 文件系統(tǒng)概述 197
10.1.1 文件類型 197
10.1.2 文件的屬性
198
10.2 目錄的基本操作 201
10.2.1 解析目錄路徑 201
10.2.2 遍歷目錄 203
10.2.3 統(tǒng)計(jì)目錄大小 204
10.2.4 建立和刪除目錄
205
10.2.5 復(fù)制目錄 206
10.3 文件的基本操作 207
10.3.1 文件的打開與關(guān)閉 207
10.3.2 寫入文件 209
10.3.3 讀取文件內(nèi)容 210
10.3.4 訪問遠(yuǎn)程文件 212
10.3.5 移動(dòng)文件指針 213
10.3.6 文件的鎖定機(jī)制
214
10.3.7 文件的一些基本操作函數(shù)
217
10.4 文件的上傳與下載 218
10.4.1 文件上傳 218
10.4.2 處理多個(gè)文件上傳 222
10.4.3 文件下載 223
第11章
PHP動(dòng)態(tài)圖像處理
225
11.1 PHP中GD庫的使用 225
11.1.1 畫布管理 226
11.1.2 設(shè)置顏色 226
11.1.3 生成圖像 227
11.1.4 繪制圖像 228
11.1.5 在圖像中繪制文字 230
11.2 PHP圖片處理 232
11.2.1 圖片背景管理 233
11.2.2 圖片縮放 234
11.2.3 圖片裁剪 236
11.2.4 添加圖片水印 237
11.2.5 圖片旋轉(zhuǎn)和翻轉(zhuǎn)
238
第12章
MySQL數(shù)據(jù)庫概述
241
12.1 數(shù)據(jù)庫的應(yīng)用 241
12.1.1 數(shù)據(jù)庫在Web開發(fā)中的重要地位
242
12.1.2 為什么PHP會(huì)選擇MySQL作為自己的黃金搭檔
242
12.1.3 PHP和MySQL的合作方式 242
12.1.4 結(jié)構(gòu)化查詢語言SQL
243
12.2 MySQL數(shù)據(jù)庫的常見操作 244
12.2.1 MySQL數(shù)據(jù)庫的連接與關(guān)閉 244
12.2.2 創(chuàng)建新用戶并授權(quán) 245
12.2.3 創(chuàng)建數(shù)據(jù)庫
245
12.2.4 創(chuàng)建數(shù)據(jù)表
246
12.2.5 數(shù)據(jù)表內(nèi)容的簡(jiǎn)單管理 247
第13章
MySQL數(shù)據(jù)表的設(shè)計(jì) 249
13.1 數(shù)據(jù)表(Table)
249
13.2 數(shù)據(jù)值和列類型 250
13.2.1 數(shù)值類的數(shù)據(jù)列類型
250
13.2.2 字符串類數(shù)據(jù)列類型
251
13.2.3 日期和時(shí)間型數(shù)據(jù)列類型
252
13.2.4 NULL值 253
13.2.5 類型轉(zhuǎn)換 253
13.3 數(shù)據(jù)字段屬性 253
13.4 數(shù)據(jù)表對(duì)象管理 254
13.4.1 創(chuàng)建表(CREATE
TABLE)
254
13.4.2 修改表(ALTER
TABLE) 256
13.4.3 刪除表(DROP
TABLE) 257
13.5 數(shù)據(jù)表的類型及存儲(chǔ)位置 257
13.5.1 MyISAM數(shù)據(jù)表
257
13.5.2 InnoDB數(shù)據(jù)表 258
13.5.3 如何選擇InnoDB還是MyISAM表類型
258
13.6 數(shù)據(jù)表的默認(rèn)字符集 259
13.6.1 字符集支持原理
259
13.6.2 創(chuàng)建數(shù)據(jù)對(duì)象時(shí)修改字符集 259
13.7 創(chuàng)建索引 260
13.7.1 主鍵索引(PRIMARY
KEY) 260
13.7.2 唯一索引(UNIQUE) 261
13.7.3 常規(guī)索引(INDEX)
261
第14章
SQL語句設(shè)計(jì)
263
14.1 操作數(shù)據(jù)表中的數(shù)據(jù)記錄(DML)
263
14.1.1 使用INSERT語句向數(shù)據(jù)表中添加數(shù)據(jù)
263
14.1.2 使用UPDATE語句更新數(shù)據(jù)表中已存在的數(shù)據(jù) 264
14.1.3 使用DELETE語句刪除數(shù)據(jù)表中不需要的數(shù)據(jù)記錄 265