內容簡介
《PHP動態網站開發(全案例微課版)》是針對零基礎讀者研發的PHP動態網站開發入門教材。本書分為22章,內容包括快速進入PHP的世界、基本語法、流程控制語句、字元串和正則表達式、精通函式的套用、玩轉數組、面向對象編程、PHP與Web頁面互動、MySQL資料庫基本操作、PHP操作MySQL資料庫、PDO資料庫抽象層、日期與時間、Cookie和Session、圖形圖像處理技術、操作檔案和目錄、錯誤處理和異常處理、PHP加密技術、PHP與Ajax技術和ThinkPHP框架。最後通過3個熱點綜合項目,進一步鞏固讀者的項目開發經驗。 《PHP動態網站開發(全案例微課版)》通過精選熱點案例,讓初學者快速掌握PHP動態網站開發技術。
作者簡介
李佳康,任職於鄭州大學,主要負責網站開發和資料庫運維課程,特別善於講解資料庫的運維技能,善於引導學生學習,讓學校所學的知識和社會的需求很好地銜接,同時具有豐富的教學經驗和開發經驗。
圖書目錄
目 錄
第1章 快速進入PHP的世界001
1.1 認識PHP 002
1.1.1 PHP是什麼 002
1.1.2 PHP語言的優勢 002
1.1.3 PHP的套用領域 002
1.1.4 PHP的發展過程 003
1.2 PHP 7的新特徵 004
1.3 搭建PHP集成開發環境 006
1.4 PHP開發工具 009
1.4.1 使用記事本 009
1.4.2 使用PhpStorm開發工具 009
1.5 新手疑難問題解答 014
1.6 實戰技能訓練營 015
第2章 基本語法016
2.1 PHP 7語言標識的新變化 017
2.2 編碼規範 017
2.2.1 什麼是編碼規範 017
2.2.2 PHP的一些編碼規範 018
2.3 PHP的數據類型 019
2.3.1 數據類型 020
2.3.2 數據類型之間的相互轉換 021
2.3.3 檢測數據類型 022
2.4 常量 022
2.4.1 聲明和使用常量 022
2.4.2 使用系統預定義常量 023
2.5 變數 024
2.5.1 PHP中的變數聲明 024
2.5.2 可變變數和變數的引用 025
2.6 PHP運算符026
2.6.1 算術運算符 026
2.6.2 字元串連線符 027
2.6.3 賦值運算符 028
2.6.4 比較運算符 028
2.6.5 邏輯運算符 029
2.6.6 按位運算符 029
2.6.7 否定控制運算符 029
2.6.8 錯誤控制運算符 030
2.6.9 三元運算符 030
2.6.10 運算符的優先權和結合規則 030
2.7 PHP 7的新特性—合併運算符和組合運算符031
2.8 PHP中的表達式 032
2.9 新手疑難問題解答 032
2.10 實戰技能訓練營 032
第3章 流程控制語句034
3.1 程式結構 035
3.2 條件控制語句 036
3.2.1 if語句 036
3.2.2 if…else語句 037
3.2.3 elseif語句 037
3.2.4 switch語句 038
3.3 循環控制語句 040
3.3.1 for循環語句 040
3.3.2 while循環語句 041
3.3.3 do…while循環語句 042
3.3.4 流程控制的另一種書寫格式 043
3.4 跳轉語句 044
3.4.1 break語句 044
3.4.2 continue語句 045
3.5 新手疑難問題解答 045
3.6 實戰技能訓練營 046
第4章 字元串和正則表達式 048
4.1 定義字元串的方法 049
4.1.1 使用單引號或雙引號定義字元串 049
4.1.2 使用定界符定義字元串 050
4.1.3 字元串的連線符 050
4.2 字元串操作051
4.2.1 去除字元串首尾空格和特殊字元 051
4.2.2 獲取字元串的長度 053
4.2.3 截取字元串 053
4.2.4 檢索字元串 054
4.2.5 替換字元串 054
4.2.6 分割和合成字元串 055
4.2.7 統計字元串中單詞的個數 056
4.3 正則表達式057
4.3.1 正則表達式概述 057
4.3.2 行定位符 057
4.3.3 元字元058
4.3.4 限定符058
4.3.5 方括弧([ ]) 058
4.3.6 連字元(-) 059
4.3.7 選擇字元 059
4.3.8 轉義字元 059
4.3.9 分組 059
4.3.10 認證E-mail 的正則表達式 060
4.4 Perl 兼容正則表達式函式 060
4.4.1 使用正則表達式對字元串進行匹配 060
4.4.2 使用正則表達式替換字元串的子串 062
4.4.3 使用正則表達式切分字元串 062
4.5 正則表達式在PHP 中的套用案例 063
4.6 新手疑難問題解答 065
4.7 實戰技能訓練營 067
第5 章 精通函式的套用068
5.1 認識函式 069
5.2 自定義函式069
5.2.1 定義和調用函式 069
5.2.2 函式中變數作用域 070
5.3 參數傳遞和返回值 072
5.3.1 向函式傳遞參數值 072
5.3.2 向函式傳遞參數引用073
5.3.3 函式的返回值 073
5.4 函式的引用和取消 074
5.4.1 引用函式 074
5.4.2 取消函式引用 074
5.5 函式的高級套用技能 075
5.5.1 變數函式 075
5.5.2 銷毀函式中的變數 075
5.6 常用的內置函式 076
5.6.1 數學函式 076
5.6.2 變數相關的函式 077
5.6.3 PHP 7 新增intdiv() 函式 078
5.7 包含檔案 078
5.7.1 require 和include 078
5.7.2 include_once 和require_once 079
5.8 新手疑難問題解答 079
5.9 實戰技能訓練營 080
第6 章 玩轉數組 081
6.1 數組是什麼082
6.2 創建數組 082
6.2.1 使用array() 函式創建數組 082
6.2.2 通過賦值方式創建數組 083
6.3 數組類型 083
6.3.1 數字索引數組 083
6.3.2 關聯數組 084
6.4 多維數組 084
6.5 遍歷數組 085
6.6 統計數組元素個數 087
6.7 查詢數組中指定元素 087
6.8 獲取並刪除數組中最後一個元素 088
6.9 獲取並刪除數組中第一個元素 088
6.10 向數組添加元素 089
6.11 刪除數組中重複元素 089
6.12 數組的排序 090
6.13 字元串與數組的轉換 091
6.14 調換數組中的鍵值和元素值 092
6.15 新手疑難問題解答 092
6.16 實戰技能訓練營 093
第7 章 面向對象編程 094
7.1 認識面向對象 095
7.1.1 什麼是類 095
7.1.2 什麼是對象 095
7.1.3 面向對象編程的特點096
7.2 類和對象的基本操作 097
7.2.1 定義類097
7.2.2 成員方法 097
7.2.3 類的實例化 097
7.2.4 成員變數 098
7.2.5 類常量099
7.2.6 構造方法和析構方法100
7.2.7 “$this->”和“::”的使用 102
7.2.8 繼承和多態 103
7.2.9 數據封裝 105
7.2.10 靜態變數和方法 106
7.3 對象的高級套用 107
7.3.1 final 關鍵字 107
7.3.2 抽象類108
7.3.3 使用接口 108
7.3.4 檢測對象類型 109
7.3.5 魔術方法(_ _) 110
7.4 PHP 的新特性—匿名類 111
7.5 新手疑難問題解答 112
7.6 實戰技能訓練營 112
第8 章 PHP 與Web 頁面互動 113
8.1 Web 工作原理 114
8.2 HTML 表單114
8.2.1 HTML 概述 114
8.2.2 HTML 表單 116
8.2.3 表單元素 117
8.3 CSS 美化表單頁面 119
8.3.1 CSS 概述 119
8.3.2 插入CSS 樣式表 120
8.3.3 使用CSS 美化表單頁面 121
8.4 JavaScript 表單驗證 122
8.4.1 JavaScript 概述 122
8.4.2 調用JavaScript 123
8.4.3 JavaScript 表單驗證 124
8.5 PHP 獲取表單數據 125
8.5.1 通過POST 方式獲取表單數據 125
8.5.2 通過GET 方式獲取表單數據 127
8.6 PHP 對URL 傳遞的參數進行編碼 128
8.7 新手疑難問題解答 129
8.8 實戰技能訓練營 130
第9 章 MySQL 資料庫的基本操作 131
9.1 MySQL 概述 132
9.2 登錄MySQL 伺服器 132
9.3 操作MySQL 資料庫 133
9.3.1 創建資料庫 133
9.3.2 查看資料庫 133
9.3.3 選擇資料庫 134
9.3.4 刪除資料庫 134
9.4 MySQL 數據類型 135
9.4.1 整數類型 135
9.4.2 浮點數類型和定點數類型 136
9.4.3 日期與時間類型 136
9.4.4 文本字元串類型 138
9.4.5 二進制字元串類型 139
9.5 運算元據表140
9.5.1 創建數據表 140
9.5.2 查看數據表的結構 141
9.5.3 修改數據表結構 142
9.5.4 刪除數據表 143
9.6 數據表記錄的操作 143
9.6.1 插入記錄 143
9.6.2 查詢記錄 144
9.6.3 修改記錄 145
9.6.4 刪除記錄 145
9.7 查詢數據的高級操作 145
9.8 MySQL 中的特殊字元 148
9.9 使用phpMyAdmin 操作MySQL資料庫 149
9.9.1 啟動phpMyAdmin 管理程式 149
9.9.2 創建資料庫和數據表150
9.9.3 添加數據 151
9.9.4 為MySQL 管理賬號加上密碼 151
9.10 新手疑難問題解答 152
9.11 實戰技能訓練營 153
第10 章 PHP 操作MySQL 資料庫 156
10.1 PHP 訪問MySQL 資料庫的步驟 157
10.2 連線資料庫前的準備工作 157
10.3 PHP 操作MySQL 資料庫 158
10.3.1 連線MySQL 伺服器158
10.3.2 選擇資料庫 159
10.3.3 創建資料庫 160
10.3.4 創建數據表 161
10.3.5 添加一條數據記錄162
10.3.6 一次插入多條數據164
10.3.7 讀取數據 165
10.3.8 釋放資源 166
10.3.9 關閉連線 166
10.4 管理MySQL 資料庫中的數據 167
10.4.1 添加商品信息 167
10.4.2 查詢商品信息 168
10.5 新手疑難問題解答 171
10.6 實戰技能訓練營 172
第11 章 PDO 資料庫抽象層 173
11.1 PDO 是什麼 174
11.2 安裝PDO174
11.3 PDO 連線資料庫 175
11.4 PDO 中執行SQL 語句 177
11.5 PDO 中獲取結果集 178
11.5.1 fetch() 方法 178
11.5.2 fetchAll() 方法 179
11.5.3 fetchColumn() 方法180
11.6 PDO 中捕獲SQL 語句中的錯誤 181
11.6.1 默認模式 181
11.6.2 警告模式 182
11.6.3 異常模式 183
11.7 PDO 中的錯誤處理 183
11.8 防止SQL 注入的攻擊 184
11.9 PDO 中的事務處理 185
11.10 新手疑難問題解答 186
11.11 實戰技能訓練營 187
第12 章 日期和時間 188
12.1 系統時區的設定 189
12.1.1 時區劃分 189
12.1.2 時區設定 189
12.2 PHP 的日期和時間函式 189
12.2.1 關於Unix 時間戳 189
12.2.2 獲取當前的時間戳190
12.2.3 獲取當前的日期和時間 190
12.2.4 使用時間戳獲取日期信息 191
12.2.5 檢驗日期的有效性193
12.2.6 輸出格式化時間戳的日期和時間194
12.2.7 顯示本地化的日期和時間 195
12.2.8 將日期和時間解析為Unix時間戳 196
12.2.9 日期時間在PHP 和MySQL 數據格式之間轉換 197
12.3 時間和日期的綜合套用 197
12.4 新手疑難問題解答 198
12.5 實戰技能訓練營 199
第13 章 Cookie 和Session200
13.1 Cookie 的基本操作 201
13.1.1 什麼是Cookie 201
13.1.2 創建Cookie 201
13.1.3 讀取Cookie 202
13.1.4 刪除Cookie 203
13.1.5 Cookie 的生命周期204
13.2 Session 管理 205
13.2.1 什麼是Session 205
13.2.2 創建會話 205
13.2.3 註冊會話變數 206
13.2.4 使用會話變數 206
13.2.5 註銷和銷毀會話變數 207
13.3 Session 的高級套用 207
13.3.1 Session 臨時檔案 207
13.3.2 Session 快取限制器208
13.3.3 儲存Session ID 在Cookie 或URL 中 209
13.4 新手疑難問題解答 209
13.5 實戰技能訓練營 210
第14 章 圖形圖像處理技術 211
14.1 在PHP 中載入GD 庫 212
14.2 GD 庫的套用 214
14.2.1 創建一個簡單的圖像 215
14.2.2 使用GD2 的函式在照片上添加文字216
14.2.3 使用圖形圖像技術生成驗證碼 217
14.3 JpGraph 庫的基本操作 219
14.3.1 JpGraph 的下載 219
14.3.2 JpGraph 的中文配置219
14.3.3 使用JpGraph 庫 220
14.4 JpGraph 庫的套用 221
14.4.1 製作折線圖 221
14.4.2 製作3D 餅形圖 222
14.5 新手疑難問題解答 223
14.6 實戰技能訓練營 224
第15 章 操作檔案與目錄 225
15.1 操作檔案 226
15.1.1 打開和關閉檔案 226
15.1.2 從檔案中讀取內容227
15.1.3 將數據寫入檔案 229
15.1.4 檔案的其他操作函式 231
15.2 處理目錄 233
15.2.1 打開和關閉目錄 233
15.2.2 瀏覽目錄 234
15.2.3 目錄的其他操作函式 235
15.3 上傳檔案 236
15.3.1 配置php.ini 檔案 236
15.3.2 預定義變數$_FILES237
15.3.3 上傳檔案的函式 237
15.3.4 多檔案上傳 239
15.4 下載檔案 240
15.5 新手疑難問題解答 241
15.6 實戰技能訓練營 242
第16 章 錯誤處理和異常處理 244
16.1 常見的錯誤和異常 245
16.2 錯誤處理 247
16.2.1 php.ini 中的錯誤處理機制 247
16.2.2 套用DIE 語句來調試 248
16.2.3 自定義錯誤和錯誤觸發器 248
16.2.4 錯誤記錄 251
16.3 PHP 7 改變了錯誤的報告方式 252
16.4 異常處理 253
16.4.1 異常的基本處理方法 253
16.4.2 自定義的異常處理器 254
16.4.3 處理多個異常 255
16.4.4 設定頂層異常處理器 256
16.5 新手疑難問題解答 257
16.6 實戰技能訓練營 258
第17 章 PHP 加密技術 259
17.1 使用PHP 加密函式 260
17.1.1 使用md5() 函式進行加密 260
17.1.2 使用crypt() 函式進行加密 260
17.1.3 使用sha1() 函式進行加密 261
17.2 使用Mhash 擴展庫 262
17.3 新手疑難問題解答 263
17.4 實戰技能訓練營 264
第18 章 PHP 與Ajax 技術 265
18.1 Ajax 概述266 18.1.1 什麼是Ajax 266
18.1.2 Ajax 的工作過程 268
18.1.3 Ajax 的關鍵元素 268
18.1.4 Ajax 的優缺點 269
18.2 Ajax 的核心技術 270
18.2.1 全面剖析XMLHttpRequest對象270
18.2.2 發出Ajax 請求 272
18.2.3 處理伺服器回響 273
18.3 Ajax 技術在PHP 中的經典套用 274
18.3.1 套用Ajax 技術檢查用戶名 274
18.3.2 套用Ajax 技術實現投票功能 277
18.4 新手疑難問題解答 279
18.5 實戰技能訓練營 280
第19 章 ThinkPHP 框架 281
19.1 認識ThinkPHP 282
19.2 下載和安裝ThinkPHP 框架 282
19.3 配置虛擬主機和部署框架 285
19.4 如何使用ThinkPHP 框架 286
19.4.1 URL 訪問 286
19.4.2 入口檔案 287
19.4.3 ThinkPHP 框架的執行流程 288
19.4.4 項目開發規範 291
19.5 ThinkPHP 的配置 292
19.5.1 配置目錄 292
19.5.2 配置格式 293
19.6 ThinkPHP 的控制器 294
19.6.1 定義控制器 294
19.6.2 控制器的初始化 297
19.6.3 跳轉和重定向 298
19.7 資料庫的基本操作 299
19.7.1 連線資料庫 299
19.7.2 運行SQL 操作 303
19.8 ThinkPHP 的模型 303
19.9 ThinkPHP 的視圖 304
19.10 新手疑難問題解答 306
第20 章 項目實訓1——開發部落格系統 307
20.1 系統的需求分析 308
20.1.1 學習目標 308
20.1.2 需求分析 308
20.1.3 系統文檔結構 308
20.2 資料庫分析 309
20.2.1 分析資料庫 309
20.2.2 創建數據表 309
20.3 部落格系統的代碼實現 310
20.3.1 部落格數據模型的檔案 310
20.3.2 部落格系統的主頁面313
20.3.3 部落格新建和修改頁面 315
20.3.4 部落格刪除頁面 317
20.4 系統測試 317
第21 章 項目實訓2——開發網上訂餐系統 319
21.1 系統功能描述 320
21.2 系統功能實現 320
21.2.1 系統功能分析 320
21.2.2 數據流程和資料庫321
21.3 代碼的具體實現 323
21.4 程式運行 332
第22 章 項目實訓3——開發社區市場系統 335
22.1 必備知識 336
22.2 系統的需求分析 336
22.2.1 學習目標 337
22.2.2 功能分析 337
22.2.3 系統文檔結構 337
22.3 還原資料庫 338
22.4 社區市場系統的代碼實現 338
22.4.1 系統入口檔案 338
22.4.2 項目配置檔案 339
22.4.3 物品與需求展示控制器 341
22.4.4 用戶後台控制器 359
22.4.5 數據模型的檔案 371
22.5 系統測試 373