PHP編程從入門到實踐
於廣
相關主題
商品描述
本書循序漸進、由淺入深地詳細講解了PHP語言開發的技術,並通過具體實例的實現過程演練了各個知識點的具體應用。全書共25章,分別為PHP開發初步、PHP基本語法、流程控制語句、函數是最神秘的武器、數組、操作字符串、使用PHP操作Web網頁、使用會話管理技術、文件操作、實現圖形圖像處理、面向對象、正則表達式、程序錯誤調試、數據加密、MySQL數據庫基礎、使用PHP操作MySQL、操作其他數據庫、PDO數據庫抽象層、操作XML文件、使用Ajax技術、使用Smarty模板、使用ThinkPHP框架、使用PHP開發Android應用程序、信息管理項目—圖書管理系統、網頁游戲項目—開心鬥地主。書中以“技術講解”“範例演練”“技術解惑”貫穿全書,引領讀者全面掌握PHP語言開發技術的精髓。
本書不但適用於PHP語言的初學者,也適用於有一定PHP基礎的讀者閱讀,還可以作為大專院校相關專業或培訓學校的教材。
作者簡介
於廣,浪潮軟件架構師,有12年動態網站開發經驗,精通PHP、ASP.NET和Java語言,目前主要從事軟件界面設計與網頁設計,以及網頁編程。
對Java開源框架和.NET平台有頗深造詣。
目錄大綱
目錄
第1章PHP開發初步1
1.1什麼是PHP 2
1.1.1了解PHP語言的江湖地位2
1.1.2 PHP的特點2
1.1.3使用PHP 7提升性能3
1.2快速搭建PHP 7開發環境3
1.2.1使用AppServ組合包3
1.2.2搭建AppServ環境3
1.2.3選擇運行環境:PHP 7 6
1.3運行第一個PHP程序7
1. 4技術解惑8
1.5課後練習8
第2章PHP基本語法9
2.1 PHP語言的語法結構10
2.1.1 PHP文件構成10
2.1.2 PHP標記11
2.2 PHP的頁面註釋12
2.3 PHP變量13
2.3.1變量的定義13
2.3.2變量的作用域14
2.3.3可變變量15
2.4 PHP常量16
2.4.1定義並使用常量16
2.4.2預定義常量17
2.5數據類型17
2.5.1簡單類型18
2.5.2複合數據類型20
2.5.3特殊類型20
2.5.4檢測數據類型21
2.5.5數據類型轉換22
2.6運算符和表達式23
2.6.1表達式23
2.6.2算術運算符24
2.6.3賦值運算符24
2.6.4自增自減運算符25
2.6.5位運算符26
2.6.6邏輯運算符27
2.6.7字符串運算符28
2.6.8三元運算符28
2.6.9運算符的優先級別29
2.7技術解惑30
2.8課後練習31
第3章流程控制語句32
3.1條件語句33
3.1.1使用if條件語句33
3.1.2使用if… else語句33
3.1.3使用elseif語句34
3.1.4使用switch語句35
3.2使用循環語句36
3.2.1使用while語句36
3.2.2使用do-while語句37
3. 2.3使用for語句37
3.2.4 for循環語句的嵌套38
3.2.5使用foreach循環語句39
3.3使用跳轉語句40
3.3.1使用break語句40
3.3. 2使用continue語句41
3.3.3使用return跳轉語句41
3.4技術解惑42
3.5課後練習42
第4章函數是最神秘的武器44
4.1函數基礎45
4.1.1定義並調用函數45
4.1.2有條件的函數45
4.1.3函數中的函數46
4.2函數間傳遞參數46
4.2.1通過引用傳遞參數46
4.2.2按照默認值傳遞參數47
4.2.3使用非標量類型作為默認參數47
4.2.4函數返回值48
4.3文件包含48
4.3.1使用require包含文件48
4.3.2使用include包含文件49
4. 4使用數學函數50
4.4.1基本數學運算50
4.4.2使用三角函數50
4.5使用變量處理函數51
4.6使用日期和時間函數51
4.7使用PHP函數手冊52
4. 7.1獲得PHP函數手冊52
4.7.2使用PHP函數手冊54
4.8技術解惑55
4.9課後練習56
第5章數組57
5.1聲明數組58
5.1.1聲明一維數組58
5.1.2使用數組定位函數59
5.1.3二維數組61
5.1.4數字索引數組和關聯數組61
5.2對數組進行簡單的操作62
5.2.1刪除數組中的重複元素62
5.2.2刪除數組中的元素或刪除整個數組62
5.2.3遍歷數組元素63
5.2.4向數組中添加新元素64
5.2.5改變數組的大小64
5 .2.6合併兩個數組66
5.2.7反轉一個數組67
5.2.8數組輸出68
5.3其他數組函數68
5.3.1對所有的數組元素進行求和68
5. 3.2將一個數組拆分成多個數組69
5.3.3對數組元素進行隨機排序69
5.3.4使用函數list()遍歷數組70
5.3.5將字符串轉換成數組71
5.3.6獲取數組中的最後一個元素71
5.4技術解惑72
5.5課後練習72
第6章操作字符串73
6.1刪除特殊字符74
6.1.1刪除多餘的字符74
6.1.2格式化字符串75
6.2使用單引號和雙引號75
6.3字母大小寫互相轉換76
6.3.1將字符串轉換成小寫76
6.3.2將字符串轉換成大寫77
6.3.3將字符轉換成大寫77
6.3.4將每個單詞的首字母轉換成大寫形式78
6.4獲取字符串的長度78
6.5查找和替換字符串79
6.5.1查找字符串79
6. 5.2定位字符串80
6.5.3字符串替換82
6.6 ASCII編碼與字符串84
6.6.1函數chr() 84
6.6.2函數ord() 85
6.7分解字符串85
6.8加入和去除轉義字符“\” 86
6.9技術解惑86
6.10課後練習87
第7章使用PHP操作Web網頁88
7.1初步認識表單89
7.1.1使用form標記89
7.1.2使用文本域89
7.1.3使用文本區域89
7.1.4使用按鈕90
7.1.5使用單選按鈕和復選框90
7.1.6使用列表菜單91
7.1.7使用文件域91
7.1.8使用圖像域91
7.1.9使用隱藏域91
7.1.10使用單選組按鈕92
7.1.11體驗第一個PHP表單程序92
7.2表單數據的提交方式94
7.2.1 GET方法94
7.2.2 POST方法95
7.2.3傳遞參數96
7.3獲取表單中的數據元素97
7.3.1獲取按鈕的數據97
7.3.2獲取文本框的數據98
7.3 .3獲取單選按鈕的數據99
7.3.4獲取複選框的數據99
7.3.5獲取列錶框的數據100
7.3.6獲取隱藏字段的值101
7.3.7獲取文件域的值101
7.4對錶單傳遞的變量值進行編碼與解碼102
7.4.1對URL傳遞的參數進行編碼102
7.4.2對URL傳遞的參數進行解碼103
7.4.3實現BASE64編碼/解碼103
7.5技術解惑104
7.6課後練習104
第8章使用會話管理技術105
8.1 Cookie會話控制106
8.1.1 Cookie概述106
8.1.2創建Cookie 107
8.1.3讀取Cookie 108
8.1.4刪除Cookie 108
8.1.5創建Cookie數組109
8.2使用Session 110
8.2.1什麼是Session 110
8.2.2創建Session會話110
8.2.3使用Session設置時間111
8.2.4 Session臨時保存文件114
8.2.5使用Session緩存114
8.3會話控制115
8.3.1兩種會話方式116
8.3.2創建會話116
8.4技術解惑118
8.5課後練習118
第9章文件操作119
9.1文件訪問120
9.1.1判斷文件或目錄是否存在120
9.1.2打開文件121
9 .1.3關閉文件121
9.2讀寫文件122
9.2.1寫入數據122
9.2.2讀取數據123
9.3文件指針128
9.3.1使用函數ftell() 128
9 .3.2使用函數rewind() 128
9.3.3使用函數fseek() 129
9.4目錄操作130
9.4.1打開目錄130
9.4.2遍歷目錄131
9.4.3目錄的創建、合法性與刪除131
9.5實現文件上傳功能133
9.5.1配置php.ini文件133
9.5.2預定義變量$_FILES 134
9.5.3文件上傳函數134
9.5.4多文件上傳135
9.6技術解惑136
9.7課後練習137
第10章實現圖形圖像處理138
10.1使用圖像函數庫GD 139
10.1.1 GD庫介紹139
10.1.2使用GD庫139
10.2簡易圖形圖像處理140
10.2.1創建畫布140
10.2 .2設置圖像的顏色140
10.2.3創建圖像141
10.2.4繪製幾何圖形142
10.3填充幾何圖形144
10.3.1進行區域填充144
10.3.2矩形、多邊形和橢圓形的填充146
10.3.3圓弧的填充147
10.4輸出文字148
10.4.1輸出英文148
10.4.2輸出中文149
10.5複雜圖形的處理150
10.5.1圓形的重疊150
10.5.2生成圖形驗證碼151
10.6技術解惑152
10.7課後練習152
第11章面向對象153
11.1什麼是面向對象154
11. 2使用類154
11.2.1創建一個類155
11.2.2創建成員屬性155
11.2.3創建類的方法155
11.2.4類的實例化156
11.2.5成員變量157
11.2.6類常量157
11.2.7構造方法和析構方法158
11.2.8類的訪問控制160
11.3面向對象的高級編程160
11.3.1類的繼承160
11. 3.2實現多態161
11.3.3實現接口162
11.3.4使用“::”運算符163
11.3.5使用偽變量$this> 164
11.3.6使用parent關鍵字164
11.3.7使用final關鍵字165
11.3.8使用static關鍵字166
11.3.9克隆對象167
11.4技術解惑167
11.5課後練習168
第12章正則表達式169
12.1正則表達式基礎170
12.2正則表達式組成元素170
12.2.1普通字符171
12.2.2特殊字符171
12.2.3限定符171
12. 2.4重要元字符介紹171
12.3正則表達式的匹配173
12.3.1搜索字符串173
12.3.2從URL取出域名174
12.3.3匹配單個字符175
12.3.4使用插入符“^” 175
12.3.5美元“$”的應用175
12.3.6使用“|”實現替換匹配176
12.4處理正則表達式的函數176
12.4.1函數ereg( )和函數eregi() 176
12.4.2使用函數ereg_replace() 177
12.4.3使用函數split() 177
12.4.4使用函數spliti() 178
12.4.5使用函數preg_grep() 178
12.4.6使用函數preg_match()和函數preg match_all() 179
12.4.7使用函數preg_quote() 179
12.4.8使用函數preg_replace() 180
12.4.9使用函數preg_replace_callback() 181
12.4.10使用函數preg_split() 182
12.5技術解惑182
12.6課後練習183
第13章程序錯誤調試184
13.1初步認識程序錯誤185
13.2錯誤類型185
13.2.1語法錯誤185
13.2.2運行錯誤188
13.2.3邏輯錯誤189
13.3技術解惑190
13.4課後練習190
第14章數據加密191
14.1使用加密函數192
14.1.1使用crypt()函數192
14.1.2使用md5()函數193
14.1.3使用shal()函數195
14.2使用Mcrypt加密擴展庫196
14.2.1安裝Mcrypt擴展庫196
14.2.2使用Mcrypt擴展庫197
14.3使用Mhash加密擴展庫198
14.3.1安裝Mhash擴展庫198
14.3.2使用Mhash擴展庫198
14.4技術解惑199
14.5課後練習200
第15章MySQL數據庫基礎201
15.1 MySQL數據庫介紹202
15.2 MySQL的基本操作203
15.2.1啟動MySQL數據庫203
15.2.2停止MySQL數據庫204
15.2.3登錄或退出MySQL數據庫205
15.2.4建立和刪除數據庫206
15.2.5建立新表208
15.2.6查看表的結構210
15.3對錶中的數據進行操作211
15.3.1插入數據211
15.3.2更新數據212
15.3.3刪除數據213
15.3.4查詢數據214
15.4使用SQL語句215
15.4.1新建數據庫和表215
15.4.2插入數據215
15.4.3選擇語句215
15 .4.4刪除語句216
15.4.5修改表中的數據216
15.4.6從數據庫中刪除一個表216
15.4.7修改表結構216
15.5使用PhpMyAdmin對數據庫備份和還原218
15.5.1對數據庫進行備份218
15.5.2對數據庫進行還原218
15.6技術解惑219
15.7課後練習219
第16章使用PHP操作MySQL 220
16.1 PHP訪問MySQL數據庫的基本步驟221
16.2使用PHP操作MySQL數據庫222
16.2.1連接MySQL數據庫222
16.2.2選擇數據庫222
16.2.3簡易查詢數據庫223
16.2.4顯示查詢結果224
16.2.5通過函數mysql_fetch_array獲取記錄225
16.2.6使用函數mysql_fetch_object() 227
16.2.7使用函數mysql_num_rows () 229
16.3管理MySQL數據庫中的數據230
16.3.1數據的插入230
16.3.2查詢數據庫中的記錄232
16.3.3修改數據庫中的記錄233
16.3.4刪除數據庫中的記錄235
16.3.5分頁顯示數據庫中的記錄237
16.4技術解惑238
16.5課後練習239
第17章操作其他數據庫240
17.1 PHP操作Access數據庫241
17.1.1使用ADO連接Access數據庫241
17.1.2快速查詢數據庫中的信息242
17.1.3分頁顯示數據庫中的信息244
17.1.4向數據庫中添加信息246
17.1. 5刪除數據庫中的信息248
17.2使用SQL Server數據庫249
17.2.1使用ADO連接SQL Server數據庫249
17.2.2檢索商品信息250
17.2.3向數據庫中添加信息251
17.2 .4刪除數據庫中的信息253
17.2.5更新數據庫中的信息254
17.3技術解惑256
17.4課後練習256
第18章PDO數據庫抽象層257
18.1什麼是PDO 258
18. 1.1 PDO的特點258
18.1.2安裝PDO 258
18.1.3使用PDO構造函數258
18.2使用PDO 259
18.2.1使用fetch()方法獲取結果集中的下一行數據259
18 .2.2使用fetchall()方法獲取結果集中的所有行260
18.2.3使用fetchColumn()方法262
18.3使用PDO執行SQL語句263
18.3.1使用exec()方法263
18.3.2使用query()方法264
18.3.3使用預處理語句方法prepare()和方法execute( ) 265
18.4 PDO錯誤處理266
18.4.1使用默認模式獲取SQL語句錯誤267
18.4.2使用警告模式獲取SQL語句錯誤268
18.4.3使用異常模式獲取SQL語句錯誤268
18. 4.4使用errorCode()方法處理錯誤270
18.4.5使用errorlnfo()方法處理錯誤271
18.5事務處理272
18.5.1使用beginTransaction()方法272
18.5.2使用commit()方法273
18.5.3使用rollBack()方法273
18.5.4實戰演練—實現事務處理273
18.6技術解惑274
18.7課後練習274
第19章操作XML文件275
19.1 XML語言基礎276
19.1.1什麼是XML 276
19.1.2認識一個簡單的XML文件276
19.2 XML語言的基本語法277
19.2.1 XML聲明277
19.2.2處理指令278
19.2. 3 XML標記與元素279
19.2.4 XML屬性280
19.2.5 XML註釋281
19.2.6 XML CDATA標記282
19.3與XML對象的相關模型283
19.3.1 DTD文檔類型定義283
19.3.2使用DTD構建XML 284
19.3.3 DOM文檔對像模型284
19.4使用DOM處理XML 285
19.4.1在PHP中創建XML文檔285
19.4.2打開XML文檔286
19.4.3使用DOM讀取數據286
19.5使用SimpleXML處理XML 287
19.5.1創建SimpleXML對象287
19.5.2遍歷子元素288
19.5.3遍歷所有元素的屬性289
19. 5.4訪問特定節點元素和屬性289
19.5.5修改XML的數據290
19.5.6保存XML文檔291
19.6技術解惑291
19.7課後練習292
第20章使用Ajax技術293
20.1 Ajax技術基礎294
20.1.1 Ajax技術初體驗294
20.1.2 Ajax技術的原理294
20. 1.3 Ajax技術特點295
20.1.4 Ajax的構成元素介紹295
20.1.5一個簡單的Ajax程序296
20.2 PHP與Ajax的應用298
20.2.1創建XMLHttpRequest對象298
20.2 .2檢測用戶名是否存在299
20.2.3添加新聞類別301
20.3技術解惑303
20.4課後練習304
第21章使用Smarty模板305
21.1什麼是MVC 306
21.1.1 MVC介紹306
21.1.2 MVC的構成306
21.1.3 MVC能給PHP帶來什麼307
21.2 Smarty模板基礎308
21.2.1 Smarty介紹308
21.2.2獲取並配置Smarty 308
21.2.3第一個Smarty程序310
21.2.4配置Smarty模板的流程311
21.3 Smarty語法基礎312
21.3.1 Smarty的模板文件312
21.3.2註釋312
21.3.3變量313
21.3.4修飾變量316
21.3.5流程控制319
21.3 .6內置函數322
21.3.7配置變量322
21.4技術解惑323
21.5課後練習323
第22章使用ThinkPHP框架324
22.1什麼是ThinkPHP 325
22.1.1幾個相關概念325
22.1.2獲取ThinkPHP框架326
22.2 ThinkPHP架構326
22.2.1 ThinkPHP的目錄結構326
22.2.2入口文件327
22.2.3模塊329
22.2.4命名規範330
22 .2.5控制器330
22.2.6多層MVC 331
22.2.7 CBD模式333
22.3配置操作337
22.3.1配置格式337
22.3.2配置加載338
22.3. 3讀取配置339
22.3.4動態配置339
22.3.5擴展配置340
22.3.6批量配置340
22.4課後練習341
第23章使用PHP開發Android應用程序342
23.1 Android系統介紹343
23.2上傳下載圖片343
23.2.1實現PHP服務器端343
23 .2.2實現Android客戶端344
23.3信息推送程序349
23.3.1實現PHP服務器端349
23.3.2實現Android客戶端350
23.4會員註冊登錄驗證系統353
23.4.1實現PHP服務器端353
23.4.2實現Android客戶端356
第24章信息管理項目——圖書管理系統359
24.1項目介紹360
24.2系統概述和總體設計360
24.2.1系統需求分析360
24.2.2系統運行瀏覽361
24.3數據庫設計362
24.3.1數據庫結構的設計362
24.3.2數據庫設置信息365
24.4首頁設計365
24.4.1判斷管理員的權限365
24.4.2圖書首頁排行信息365
24.5管理員登錄366
24.5.1系統登錄首頁366
24.5.2查看管理員366
24.5.3添加管理員366
24.5.4設置管理員權限的過程367
24.5.5刪除管理員367
24. 6圖書檔案管理設計367
24.6.1查看圖書列表368
24.6.2添加圖書信息368
24.6.3修改圖書信息368
24.6.4刪除圖書信息369
24.7圖書借還功能的實現369
24.8讀者管理371
第25章網頁遊戲項目——開心斗地主372
25.1項目介紹373
25.1.1系統需求分析373
25.1.2系統運行瀏覽373
25.2數據庫設計374
25.2.1數據庫結構的設計375
25.2.2數據庫配置信息375
25.2.3常用的數據庫程序376
25.3用戶管理設計376
25.3.1登錄系統376
25.3.2註冊用戶376
25.3.3用戶退出377
25.4房間管理設計377
25.5遊戲模塊的編碼工作378