第1章
LAMP網(wǎng)站構(gòu)建
1
1.1 介紹網(wǎng)站給你認識
1
1.1.1 Web應(yīng)用的優(yōu)勢
2
1.1.2 Web 2.0時代的互聯(lián)網(wǎng)
3
1.1.3 Web開發(fā)標(biāo)準(zhǔn) 4
1.1.4 認識腳本語言 5
1.1.5 了解HTTP協(xié)議
5
1.2 動態(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)用程序平臺 17
1.3.1 Web應(yīng)用程序開發(fā)平臺對比分析 18
1.3.2 動態(tài)網(wǎng)站開發(fā)平臺技術(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后臺腳本編程語言 24
1.5.5 LAMP發(fā)展趨勢 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)境安裝對操作系統(tǒng)的選擇
29
2.2.1 選擇網(wǎng)站運營的操作系統(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)境測試 33
第3章
PHP的基本語法 36
3.1 PHP在Web開發(fā)中的應(yīng)用
36
3.1.1 就從認識PHP開始吧
36
3.1.2 PHP都能做什么
37
3.2 第一個PHP腳本程序 39
3.3 PHP語言標(biāo)記
42
3.3.1 將PHP代碼嵌入HTML中的位置
43
3.3.2 解讀開始和結(jié)束標(biāo)記
44
3.4 指令分隔符“分號” 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 浮點型(float或double)
55
3.8.5 字符串(string)
55
3.8.6 數(shù)組(array) 57
3.8.7 對象(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 自動類型轉(zhuǎn)換 60
3.9.2 強制類型轉(zhuǎn)換 61
3.9.3 類型轉(zhuǎn)換細節(jié) 62
3.10 常量 62
3.10.1 常量的定義和使用 62
3.10.2 常量和變量
63
3.11 PHP中的運算符 63
3.11.1 算術(shù)運算符
64
3.11.2 字符串運算符 66
3.11.3 賦值運算符
67
3.11.4 比較運算符
68
3.11.5 邏輯運算符
69
3.11.6 位運算符 70
3.11.7 其他運算符
73
3.11.8 運算符的優(yōu)先級
74
3.12 表達式 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 默認參數(shù)的函數(shù)
106
5.4.5 可變個數(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è)計
130
7.1 面向?qū)ο蟮慕榻B 130
7.1.1 類和對象之間的關(guān)系
131
7.1.2 面向?qū)ο蟮某绦蛟O(shè)計
132
7.2 如何抽象一個類 132
7.2.1 類的聲明 133
7.2.2 成員屬性 133
7.2.3 成員方法 134
7.3 通過類實例化對象
136
7.3.1 實例化對象
136
7.3.2 對象中成員的訪問 137
7.3.3 特殊的對象引用“$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 克隆對象 161
7.6.5 類中通用的方法__toString()
162
7.6.6 __call()方法的應(yīng)用 163
7.6.7 自動加載類
164
第8章 字符串處理 165
8.1 字符串的處理介紹
165
8.1.1 字符串的處理方式 165
8.1.2 字符串類型的特點 166
8.1.3 雙引號中變量解析總結(jié) 167
8.2 常用的字符串輸出函數(shù)
167
8.3 常用的字符串格式化函數(shù) 170
8.3.1 去除空格和字符串填補函數(shù) 171
8.3.2 字符串大小寫的轉(zhuǎn)換
172
8.3.3 和HTML標(biāo)簽相關(guān)的字符串格式化
172
第9章 正則表達式 177
9.1 正則表達式簡介 177
9.1.1 選擇PHP正則表達式的處理函數(shù)庫
177
9.2 正則表達式的語法規(guī)則
178
9.2.1 定界符
179
9.2.2 原子 179
9.2.3 元字符
181
9.2.4 模式修正符
184
9.3 與Perl兼容的正則表達式函數(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)計目錄大小 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 訪問遠程文件 212
10.3.5 移動文件指針 213
10.3.6 文件的鎖定機制
214
10.3.7 文件的一些基本操作函數(shù)
217
10.4 文件的上傳與下載 218
10.4.1 文件上傳 218
10.4.2 處理多個文件上傳 222
10.4.3 文件下載 223
第11章
PHP動態(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會選擇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)容的簡單管理 247
第13章
MySQL數(shù)據(jù)表的設(shè)計 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ù)據(jù)列類型
252
13.2.4 NULL值 253
13.2.5 類型轉(zhuǎn)換 253
13.3 數(shù)據(jù)字段屬性 253
13.4 數(shù)據(jù)表對象管理 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ù)表的類型及存儲位置 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ù)表的默認字符集 259
13.6.1 字符集支持原理
259
13.6.2 創(chuàng)建數(shù)據(jù)對象時修改字符集 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è)計
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