內容簡介
PHP已經走過了20多年,目前最新版本是PHP 7,性能方面得到了大幅度的提升。本書就是立足於最新版的PHP和MySQL,從最基礎的語法基礎開發,讓沒有編程基礎的人也學會PHP+MySQL網站開發。 本書分為4篇共19章,第一篇(1~6章)先介紹PHP 7的語法;第二篇(7~10章)是PHP的一些高級套用,如國際化、zip檔案處理、圖形圖像操作、正則表達式;第三篇(11~15章)是MySQL資料庫的基礎入門,包括資料庫、數據表和數據的常見操作;最後一篇(16~17章)是PHP+MySQL的混合操作,還包含兩個大型項目的開發步驟。 本
圖書目錄
第1章認識PHP7
1.1PHP的發展歷程
1.2PHP語言的優缺點
1.3誰在用PHP
1.4PHP7的新特性
1.4.1性能提高
1.4.2標量類型聲明
1.4.3返回值類型聲明
1.4.4NULL合併運算符
1.4.5太空船操作符(組合比較符)
1.4.6匿名類5
1.4.7use加強5
1.5搭建PHP開發環境5
1.5.1下載XAMPP6
1.5.2Windows版本7
1.5.3Linux版本9
1.5.4MACOSX版本10
1.5.5其他安裝方式10
1.6配置和啟動XAMPP10
1.6.1Windows版本10
1.6.2Linux與MACOSX版本11
1.6.3查看PHP配置信息13
1.7第一個PHP程式:HelloWorld14
1.8PHP的開發工具15
1.8.1SublimeText簡介15
1.8.2Atom簡介25
1.8.3其他流行的集成開發環境與開發工具30
第2章PHP基礎語法31
2.1PHP標識符31
2.2變數32
2.2.1變數名稱32
2.2.2給變數賦值32
2.2.3引用賦值33
2.2.4變數的數據類型33
2.2.5可變變數34
2.3常量34
2.3.1聲明常量34
2.3.2常量與變數不同35
2.3.3檢查某常量是否存在35
2.3.4內置常量35
2.4數據類型36
2.4.1數據類型簡介36
2.4.2布爾型(boolean)36
2.4.3整型(integer)37
2.4.4浮點型(float)38
2.4.5字元串(string)38
2.4.6數組(array)40
2.4.7對象(object)40
2.4.8資源(resource)41
2.4.9無類型(NULL)41
2.4.10數據類型相互轉換41
2.5表達式42
2.6運算符42
2.6.1算術運算符42
2.6.2字元串運算符43
2.6.3賦值運算符43
2.6.4比較運算符43
2.6.5邏輯運算符44
2.6.6按位運算符45
2.6.7錯誤控制運算符45
2.6.8三元運算符45
2.6.9NULL合併運算符46
2.6.10太空船操作符(組合比較符)46
2.6.11運算符的優先權和結合規則46
2.7流程控制46
2.7.1條件控制語句if、else、elseif47
2.7.2條件控制語句switch、case、break、default48
2.7.3while循環語句48
2.7.4do...while循環語句49
2.7.5for循環語句49
2.7.6foreach循環語句50
2.7.7使用break/contine語句跳出循環51
2.8函式(function)51
2.8.1函式的定義51
2.8.2向函式傳遞參數52
2.8.3通過引用傳遞參數53
2.8.4默認參數的值53
2.8.5參數類型聲明54
2.8.6可變數量的參數列表54
2.8.7使用全局變數55
2.8.8使用靜態變數55
2.8.9從函式返回值56
2.8.10返回值類型聲明56
2.8.11可變函式57
2.8.12匿名函式57
第3章PHP與用戶互動58
3.1表單處理58
3.1.1表單簡介58
3.1.2GET和POST的區別59
3.1.3PHP與表單處理60
3.2表單元素及處理60
3.2.1文本框60
3.2.2單選按鈕(radio)與複選框(checkbox)61
3.2.3下拉列表63
3.2.4按鈕65
3.3Cookie66
3.3.1什麼是Cookie67
3.3.2如何創建Cookie67
3.3.3如何讀取Cookie68
3.3.4如何確認Cookie存在68
3.3.5如何刪除Cookie68
3.4Session69
3.4.1什麼是Session69
3.4.2如何創建Session69
3.4.3如何存儲Session70
3.4.4如何檢測Session是否存在70
3.4.5終結Session71
第4章字元串和數組72
4.1字元串72
4.1.1字元串里字元的類型72
4.1.2連線字元串72
4.1.3計算字元串長度strlen()73
4.1.4檢索字元串73
4.1.5截取字元串75
4.1.6替換字元串75
4.1.7清理字元串76
4.1.8切分和組合字元串77
4.1.9其他常用字元串函式78
4.2數組的類型79
4.2.1數字索引數組79
4.2.2關聯索引數組79
4.2.3多維數組80
4.3統計數組元素個數count()函式81
4.4用foreach遍歷數組82
4.5設定數組指針—reset()、end()、next()、prev()、current()、each()82
4.6數組排序83
4.6.1默認排序sort()、rsort()83
4.6.2關聯索引數組按照鍵值排序asort()、arsort()85
4.6.3關聯索引數組按照鍵名排序ksort()、krsort()85
4.7數組常見操作86
4.7.1向數組添加新元素array_push()、array_unshift()86
4.7.2刪除數組元素array_pop()、array_shift()86
4.7.3刪除數組中的重複值array_unique()87
4.7.4對數組進行查詢in_array()88
4.7.5其他常用數組函式array_keys()、array_values()、unset()88
第5章日期與時間90
5.1設定時區90
5.2獲取UNIX時間戳91
5.3根據時間戳獲取日期和時間91
5.4根據日期和時間獲取時間戳92
5.5根據時間戳獲取包含日期信息的數組92
5.6驗證日期的有效性93
5.7輸出指定格式的日期和時間94
5.8面向對象的日期時間類95
5.8.1DateTime類95
5.8.2DateTimeImmutable類96
5.8.3DateTimeZone類97
5.8.4DateInterval類98
5.8.5DatePeriod類99
第6章檔案與目錄100
6.1檔案操作100
6.1.1打開檔案100
6.1.2檢查是否已到達檔案末尾101
6.1.3讀取檔案102
6.1.4關閉檔案102
6.1.5將整個檔案讀入一個字元串103
6.1.6將字元串寫入檔案103
6.1.7將整個檔案讀入一個數組104
6.1.8複製檔案104
6.1.9刪除檔案105
6.1.10檢查檔案是否正常105
6.1.11返回關於檔案的信息105
6.2目錄操作107
6.2.1打開目錄107
6.2.2關閉目錄107
6.2.3讀取目錄107
6.2.4創建目錄108
6.2.5刪除目錄109
6.2.6重命名檔案或目錄109
6.2.7檢查檔案或目錄是否存在109
第7章PHP與國際化110
7.1多位元組字元函式110
7.1.1檢測字元串的編碼111
7.1.2檢查字元串在指定的編碼里是否有效111
7.1.3轉換字元編碼格式111
7.1.4解析$_GET字元串112
7.1.5按位元組數來截取字元串112
7.2intl模組簡介113
7.2.1安裝intl模組113
7.2.2Collator類比較字元串114
7.2.3NumberFormatter類幫助做財務114
7.2.4IntlDateFormatter類顯示中文版的日期時間115
第8章PHP與zip檔案處理116
8.1zip函式116
8.1.1打開和關閉zip檔案116
8.1.2讀取並列印檔案/目錄名稱117
8.1.3處理zip檔案118
8.2處理zip檔案的必殺技:ZipArchive類120
8.2.1打開/關閉壓縮檔案120
8.2.2解壓縮檔案121
8.2.3添加目錄與檔案121
8.2.4遍歷zip檔案123
8.2.5獲取檔案124
第9章圖形圖像處理125
9.1啟用GD2擴展庫125
9.2創建圖形圖像126
9.2.1用PHP生成一個簡單圖形127
9.2.2詳解PHP生成圖形的步驟127
9.3操作圖形圖像129
9.3.1更改圖像顏色129
9.3.2在圖像上輸出文字129
9.4操作已有的圖片130
9.4.1獲取圖片的寬和高130
9.4.2生成圖片的縮略圖131
9.4.3給圖片添加水印效果——文字水印132
9.4.4給圖片添加水印效果——圖片水印133
第10章正則表達式135
10.1在PHP中使用正則表達式135
10.1.1套用正則的函式135
10.1.2通過一個例子理解正則136
10.1.3定義正則表達式的頭部和尾部137
10.2正則表達式中的符號137
10.2.1元字元137
10.2.2轉義字元139
10.2.3修正符139
10.2.4字元套用140
10.3驗證URL141
第11章MySQL的安裝與配置143
11.1什麼是MySQL143
11.1.1客戶端/伺服器軟體143
11.1.2MySQL版本143
11.1.3MySQL的優勢144
11.2安裝與配置MySQL5.6144
11.3啟動服務並登錄MySQL資料庫154
11.3.1啟動MySQL服務154
11.3.2登錄MySQL資料庫156
11.3.3配置Path變數157
11.4更改MySQL的配置158
11.5MySQL安裝失敗解決方案160
第12章資料庫的基本操作161
12.1創建資料庫161
12.2刪除資料庫163
12.3資料庫存儲引擎164
12.3.1MySQL支持的存儲引擎164
12.3.2各存儲引擎的區別172
12.4查看默認存儲引擎173
12.5實戰演練——創建資料庫的全過程174
第13章數據表的基本操作176
13.1新建數據表176
13.1.1語法形式176
13.1.2主鍵約束178
13.1.3外鍵關聯180
13.1.4非空約束182
13.1.5唯一性約束182
13.1.6默認值183
13.1.7設定自動增加屬性184
13.2查看數據表結構185
13.2.1查看錶結構186
13.2.2查看創建表的語句187
13.3修改數據表188
13.3.1修改表名188
13.3.2修改欄位類型189
13.3.3修改欄位名191
13.3.4添加欄位192
13.3.5刪除欄位195
13.3.6修改欄位的排列位置196
13.3.7更改表的存儲引擎198
13.3.8刪除表的外鍵關聯199
13.4刪除資料庫表200
13.4.1刪除簡單的表201
13.4.2刪除關聯表202
13.5實戰——資料庫和數據表的基本操作204
第14章數據的基本操作211
14.1添加數據211
14.1.1為所有欄位添加數據211
14.1.2指定表欄位添加數據214
14.1.3添加多條記錄215
14.2更新數據217
14.3刪除數據220
14.4查詢數據222
14.4.1基本查詢語句222
14.4.2查詢所有欄位223
14.4.3查詢指定欄位224
14.4.4查詢指定記錄225
14.4.5帶IN關鍵字的查詢227
14.4.6帶BETWEENAND的範圍查詢228
14.4.7帶LIKE的字元匹配查詢229
14.4.8查詢空值231
14.4.9帶AND的條件查詢233
14.4.10帶OR的條件查詢234
14.4.11查詢結果不重複234
14.4.12對查詢結果排序235
14.4.13分組查詢237
14.4.14LIMIT限制查詢240
14.5實戰演練1——記錄的添加、更新和刪除241
14.6實戰演練2——數據表綜合查詢案例247
第15章資料庫的備份和還原254
15.1數據備份254
15.1.1使用命令備份254
15.1.2使用第3方工具快速備份260
15.2數據還原261
15.2.1使用命令還原262
15.2.2使用工具快速還原264
15.3資料庫遷移264
15.3.1相同版本的MySQL資料庫遷移265
15.3.2不同版本的MySQL資料庫之間的遷移265
15.3.3MySQL資料庫遷移至Oracle資料庫265
15.4表的IMPORT和EXPORT266
15.4.1表的EXPORT266
15.4.2表的IMPORT273
15.5實戰演練——資料庫的備份與恢復278
第16章PHP操作MySQL284
16.1啟動XAMPP中自帶的MySQL資料庫284
16.1.1啟動MySQL284
16.1.2使用phpMyAdmin圖形化操作MySQL285
16.2PHP連線和關閉資料庫287
16.2.1連線資料庫287
16.2.2關閉資料庫288
16.3PHP運算元據庫288
16.3.1顯示可用資料庫288
16.3.2創建資料庫289
16.3.3選擇資料庫290
16.3.4刪除資料庫291
16.4PHP運算元據表292
16.4.1查看所有數據表292
16.4.2新增數據表293
16.4.3查看數據表欄位294
16.4.4編輯數據表294
16.4.5刪除數據表296
16.5PHP運算元據296
16.5.1新增數據296
16.5.2查看數據297
16.5.3編輯數據299
16.5.4刪除數據300
16.5.5複雜的查詢301
第17章使用RebBeanPHP更方便地管理數據303
17.1下載安裝RedBeanPHP303
17.2快速開始304
17.3RedBeanPHP的CRUD306
17.3.1Create(新建)數據對象306
17.3.2Retrieve(獲取)數據308
17.3.3Update(更新)數據308
17.3.4Delete(刪除)數據308
17.4查詢資料庫309
17.4.1查詢參數綁定309
17.4.2findOne方法310
17.4.3findAll方法310
17.4.4findCollection方法310
17.4.5findLike方法310
17.4.6findOrCreate方法311
17.4.7findMulti方法311
17.4.8getAll方法311
17.4.9getRow、getCol、getCell方法312
17.4.10getAssoc方法313
17.4.11count方法313
17.5運算元據庫314
17.5.1exec方法314
17.5.2getInsertID方法314
17.5.3inspect方法314
17.5.4切換資料庫315
17.5.5事務315
17.5.6凍結資料庫316
17.6調試RedBeanPHP316
17.6.1startLogging、getLogs方法316
17.6.2debug方法317
17.7其他高級功能318
17.7.1關係318
17.7.2Models319
17.7.3複製/克隆319
17.7.4導入導出319
第18章使用PHP+MySQL構建模擬考試系統321
18.1功能分析321
18.2準備工作321
18.2.1設計數據表322
18.2.2創建配置檔案323
18.2.3創建安裝檔案323
18.3用戶註冊與登錄325
18.3.1用戶註冊325
18.3.2用戶登錄327
18.4首頁328
18.4.1首頁329
18.4.2檢查管理員330
18.5管理模組330
18.5.1顯示所有題目330
18.5.2添加題目332
18.5.3顯示題目詳情334
18.5.4編輯題目336
18.5.5刪除題目339
18.6用戶模組340
18.6.1考試頁面340
18.6.2查看歷史考試記錄343
18.6.3更改密碼344
18.6.4退出登錄346
第19章使用PHP+MySQL構建線上購物網站347
19.1功能分析347
19.1.1設計算法347
19.1.2表的設計348
19.2準備工作349
19.2.1配置檔案349
19.2.2安裝模組350
19.3註冊登錄模組354
19.3.1註冊模組354
19.3.2登錄模組357
19.4顯示模組360
19.4.1頭部模組360
19.4.2核心顯示模組362
19.4.3購物車模組367
19.4.4查看並統計購物車模組368
19.5用戶模組372
19.5.1顯示用戶信息模組372
19.5.2修改用戶密碼模組373
19.5.3查看用戶歷史訂單模組376
19.6管理模組379
19.6.1處理訂單模組379
19.6.2添加類別模組381
19.6.3編輯類別模組384
19.6.4添加商品模組387
19.6.5編輯商品模組390
19.6.6退出登錄模組395