PHP 從入門到項目實踐(超值版)
內容描述
《PHP從入門到項目實踐(超值版)》採用“基礎知識→核心應用→核心技術→高級應用→項目實踐”結構和“由淺入深,由深到精”的模式進行講解。全書共分為5篇20章,首先講解PHP語言入門、面向對象的程序設計、流程控制語句、字符串操作、PHP數組、正則表達式、錯誤處理和異常處理、PHP動態圖像處理等知識;接著深入講解phpMyAdmin圖形化管理工具、使用phpMyAdmin操作數據庫以及數據表、PHP操作MySQL數據庫、PDO數據庫抽象層等PHP語言的高級應用,詳細探討了PHP在軟件開發中所提供的各種技術和特性;在實踐環節講述了PHP語言在論壇、文章發布系統、企業網站管理系統以及圖書管理系統行業的開發應用,全面展現了項目開發實踐的全過程。 《PHP從入門到項目實踐(超值版)》的目的是多角度、全方位地幫助讀者快速掌握軟件開發技能,構建學生從高校到社會的就業橋梁,讓有志於軟件開發行業的讀者輕松步入職場。《PHP從入門到項目實踐(超值版)》贈送的資源比較多,在《PHP從入門到項目實踐(超值版)》前言部分對資源包的具體內容、獲取方式以及使用方法等做了詳細說明。 《PHP從入門到項目實踐(超值版)》適合希望學習PHP語言編程的初中級程序員和希望精通PHP語言的程序員閱讀,還可作為正在進行軟件專業畢業設計的學生以及大專院校和培訓學校的參考用書。
目錄大綱
第1篇 基礎知識
第1章 步入PHP編程世界——PHP初探 002
◎ 本章教學微視頻:5個 27分鐘
1.1 走進PHP語言 002
1.1.1 什麼是PHP 002
1.1.2 PHP語言的優勢 003
1.2 認識Web服務器 003
1.2.1 什麼是Web服務器 003
1.2.2 Web服務器原理簡介 003
1.2.3 常用的Web服務器 004
1.3 PHP安裝與服務器環境配置 005
1.4 常用PHP開發工具 008
1.4.1 EditPlus開發工具 008
1.4.2 Notepad++開發工具 008
1.4.3 PhpStorm開發工具 009
1.4.4 Zend Studio開發工具 009
1.5 編寫我的第一個PHP應用程序——
hello PHP 010
1.6 就業面試技巧與解析 011
1.6.1 面試技巧與解析(一) 011
1.6.2 面試技巧與解析(二) 011
第2章 感受PHP精彩——PHP快速上手 012
◎ 本章教學微視頻:11個 62分鐘
2.1 PHP基本語法 012
2.1.1 echo語法 012
2.1.2 print語法 013
2.1.3 PHP註釋 014
2.1.4 PHP大小寫敏感 014
2.2 PHP數據類型 017
2.2.1 標量數據類型 017
2.2.2 複合數據類型 020
2.2.3 特殊數據類型 021
2.2.4 數據類型的獲取 022
2.2.5 PHP數據類型的轉換 022
2.3 PHP常量 024
2.3.1 定義和使用常量 024
2.3.2 預定義常量 025
2.4 PHP變量 026
2.4.1 定義和使用變量 026
2.4.2 預定義變量 027
2.4.3 變量作用域 028
2.4.4 可變變量 030
2.4.5 來自PHP之外的變量 031
2.5 PHP運算符 031
2.5.1 算術運算符 031
2.5.2 字符串運算符 033
2.5.3 賦值運算符 033
2.5.4 位運算符 033
2.5.5 邏輯運算符 034
2.5.6 比較運算符 035
2.5.7 三元運算符 035
2.5.8 錯誤控制運算符 036
2.5.9 運算符的優先順序 036
2.6 PHP表達式 037
2.7 PHP編碼規範 037
2.7.1 什麼是編碼規範 037
2.7.2 PHP書寫規則 038
2.7.3 PHP命名規則 038
2.8 就業面試技巧與解析 040
第3章 PHP面向對象的程序設計 041
◎ 本章教學微視頻:8個 51分鐘
3.1 面向對象的介紹 041
3.1.1 類和對象之間的關係 041
3.1.2 面向對象的程序設計 042
3.2 如何抽像一個類 042
3.2.1 類的定義 042
3.2.2 成員屬性 042
3.2.3 成員方法 043
3.3 通過類實例化對象 043
3.3.1 實例化對象 043
3.3.2 對像中成員的訪問 044
3.3.3 特殊的對象引用$this 044
3.3.4 構造函數與析構函數 045
3.4 封裝性 047
3.4.1 設置私有成員 047
3.4.2 私有成員的訪問 048
3.4.3 set()、get()、isset()和unset()
方法 048
3.5 繼承性 049
3.5.1 類繼承的應用 049
3.5.2 私有屬性的繼承 050
3.5.3 子類中重載父類的方法 051
3.6 常見的關鍵字和方法 052
3.6.1 final關鍵字 052
3.6.2 static關鍵字 053
3.6.3 單態設計模式 054
3.6.4 const關鍵字 055
3.6.5 instanceof關鍵字 055
3.6.6 克隆對象 056
3.6.7 類中通用的toString()方法 057
3.6.8 call()和__callStatic()方法 057
3.6.9 自動加載類 058
3.6.10 對象串行化 059
3.7 抽像類與接口技術 060
3.7.1 抽像類 060
3.7.2 接口技術 061
3.8 命名空間 063
3.8.1 命名空間概述 063
3.8.2 定義命名空間 063
3.8.3 使用命名空間 064
3.9 就業面試技巧與解析 065
第4章 PHP流程控制語句 066
◎ 本章教學微視頻:4個 29分鐘
4.1 條件控制語句 066
4.1.1 if語句 066
4.1.2 if...else語句 067
4.1.3 elseif語句 068
4.1.4 switch...case多重判斷語句 069
4.2 循環控制語句 070
4.2.1 while循環語句 070
4.2.2 do...while循環語句 071
4.2.3 for循環語句 072
4.2.4 foreach循環語句 072
4.3 跳轉語句 074
4.3.1 break跳轉語句 074
4.3.2 continue跳轉語句 075
4.3.3 return跳轉語句 076
4.3.4 exit跳轉語句 077
4.4 文件包含 077
4.4.1 使用include和require包含文件 078
4.4.2 使用include_once和require_once包含
文件 079
4.5 就業面試技巧與解析 080
第2篇 核心應用
第5章 字符串操作 082
◎ 本章教學微視頻:6個 36分鐘
5.1 字符串簡介 082
5.2 單引號和雙引號的區別 083
5.3 Heredoc和Nowdoc結構 083
5.4 字符串的連接符 084
5.5 字符串的格式化 085
5.5.1 去除空格和字符串填補函數 085
5.5.2 字符串大小寫的轉換 086
5.5.3 與HTML標籤相關的字符串格式化 087
5.5.4 其他字符串格式函數 089
5.6 字符串常用操作 091
5.6.1 轉義、還原字符串數據 091
5.6.2 獲取字符串的長度 092
5.6.3 截取字符串 093
5.6.4 比較字符串 093
5.6.5 檢索字符串 095
5.6.6 替換字符串 097
5.6.7 分割字符串 098
5.6.8 合成字符串 099
5.7 就業面試技巧與解析 099
第6章 PHP數組 100
◎ 本章教學微視頻:7個 63分鐘
6.1 數組的分類 100
6.2 數組的定義 101
6.2.1 直接賦值的方式定義數組 101
6.2.2 使用array()函數定義數組 101
6.2.3 多維數組的定義 103
6.3 數組的遍歷 103
6.3.1 使用for語句循環遍歷數組 103
6.3.2 使用foreach語句循環遍歷數組 104
6.3.3 聯合使用list()、each()、while()循環
遍歷數組 104
6.3.4 使用數組的內部指針控制函數遍歷
數組 105
6.4 數組的常用操作 106
6.4.1 輸出數組 107
6.4.2 字符串與數組的轉換 107
6.4.3 統計數組元素個數 108
6.4.4 查詢數組中指定元素 109
6.4.5 獲取數組中最後一個元素 110
6.4.6 向數組中添加元素 110
6.4.7 刪除數組中重複元素 111
6.5 預定義數組 111
6.5.1 服務器變量:$_SERVER 111
6.5.2 環境變量:$_ENV 112
6.5.3 URL GET變量:$_GET 113
6.5.4 HTTP POST變量:$_POST 114
6.5.5 Request變量:$_REQUEST 115
6.5.6 HTTP文件上傳變量:$_FILES 115
6.5.7 HTTP Cookies變量:$_COOKIE 116
6.5.8 Session變量:$_SESSION 117
6.5.9 Global變量:$GLOBALS 117
6.6 操作PHP數組需要注意的一些細節 118
6.6.1 數組運算符號 118
6.6.2 刪除數組中的元素 119
6.6.3 關於數組下標的注意事項 121
6.7 使用生成器 122
6.7.1 使用生成器迭代數據 122
6.7.2 生成器與數組的區別 123
6.8 就業面試技巧與解析 124
第7章 正則表達式 125
◎ 本章教學微視頻:7個 21分鐘
7.1 正則表達式簡介 125
7.2 正則表達式語法規則 125
7.2.1 行定位符 126
7.2.2 單詞定界符 126
7.2.3 字符類 127
7.2.4 選擇字符 127
7.2.5 連字符 127
7.2.6 排除字符 128
7.2.7 限定符 128
7.2.8 點號字符 128
7.2.9 轉義字符 128
7.2.10 反斜線 129
7.2.11 括號字符 129
7.2.12 反向引用 129
7.2.13 模式修飾符 130
7.3 PCRE兼容正則表達式函數 131
7.3.1 preg_grep()函數 131
7.3.2 preg_match()函數和preg_match_all()
函數 132
7.3.3 preg_quote()函數 133
7.3.4 preg_replace()函數 133
7.3.5 preg_replace_callback()函數 133
7.3.6 preg_split()函數 134
7.4 就業面試技巧與解析 135
7.4.1 面試技巧與解析(一) 135
7.4.2 面試技巧與解析(二) 135
第8章 日期和時間 136
◎ 本章教學微視頻:12個 22分鐘
8.1 系統時區設置 136
8.1.1 時區劃分 136
8.1.2 時區設置 136
8.2 PHP日期和時間函數 137
8.2.1 獲取本地化時間戳 137
8.2.2 獲取當前時間戳 138
8.2.3 獲取當前日期和時間 138
8.2.4 獲取日期信息 139
8.2.5 檢驗日期的有效性 140
8.2.6 輸出格式化的日期和時間 140
8.2.7 顯示本地化的日期和時間 142
8.2.8 將日期和時間解析為Unix時間戳 144
8.3 日期和時間的應用 145
8.3.1 比較兩個時間的大小 145
8.3.2 實現倒計時功能 146
8.3.3 計算頁面腳本的運行時間 147
8.4 就業面試技巧與解析 147
8.4.1 面試技巧與解析(一) 147
8.4.2 面試技巧與解析(二) 148
第9章 PHP中Cookie與Session管理 149
◎ 本章教學微視頻:10個 29分鐘
9.1 Cookie管理 149
9.1.1 了解Cookie 149
9.1.2 創建Cookie 150
9.1.3 讀取Cookie 151
9.1.4 刪除Cookie 151
9.1.5 Cookie的生命週期 153
9.2 Session管理 153
9.2.1 了解Session 153
9.2.2 創建Session 153
9.2.3 通過Session判斷用戶的操作權限 155
9.3 Session的應用 157
9.3.1 Session臨時文件 157
9.3.2 Session緩存 157
9.4 就業面試技巧與解析 158
第3篇 核心技術
第10章 錯誤處理和異常處理 160
◎ 本章教學微視頻:7個 18分鐘
10.1 錯誤處理 160
10.1.1 錯誤報告級別 160
10.1.2 調整錯誤報告級別 161
10.1.3 使用trigger_error()函數替代die() 162
10.1.4 自定義錯誤處理 163
10.2 異常處理 164
10.2.1 異常處理實現 164
10.2.2 擴展PHP內置的異常處理類 166
10.2.3 捕獲多個異常 167
10.3 就業面試技巧與解析 170
10.3.1 面試技巧與解析(一) 170
10.3.2 面試技巧與解析(二) 170
第11章 PHP文件系統處理 171
◎ 本章教學微視頻:14個 36分鐘
11.1 文件系統概述 171
11.1.1 文件類型 171
11.1.2 文件屬性 172
11.2 目錄的基本操作 174
11.2.1 解析目錄路徑 174
11.2.2 遍歷目錄 175
11.2.3 統計目錄大小 176
11.2.4 建立和刪除目錄 177
11.2.5 複製目錄 178
11.3 文件的基本操作 179
11.3.1 文件的打開與關閉 179
11.3.2 寫入文件 180
11.3.3 讀取文件內容 181
11.3.4 移動文件指針 182
11.3.5 文件的鎖定機制 183
11.4 文件的上傳與下載 184
11.4.1 文件上傳 184
11.4.2 文件下載 186
11.5 就業面試技巧與解析 187
第12章 PHP動態圖像處理 188
◎ 本章教學微視頻:15個 37分鐘
12.1 PHP中GD庫的使用 188
12.1.1 畫布管理 189
12.1.2 設置顏色 190
12.1.3 生成圖像 191
12.1.4 繪製圖像 192
12.1.5 在圖像中繪製文字 195
12.2 PHP圖片處理 196
12.2.1 圖片背景管理 197
12.2.2 圖片縮放 197
12.2.3 圖片裁剪 198
12.2.4 添加圖片水印 199
12.2.5 圖片旋轉和翻轉 200
12.3 使用圖像處理技術生成驗證碼 202
12.4 JpGraph組件的應用 204
12.4.1 JpGraph組件的安裝 204
12.4.2 使用柱形圖統計數據 204
12.4.3 使用折線圖統計數據 206
12.4.4 使用3D餅形圖統計數據 207
12.5 就業面試技巧與解析 208
12.5.1 面試技巧與解析(一) 208
12.5.2 面試技巧與解析(二) 208
第13章 PHP函數應用 209
◎ 本章教學微視頻:10個 21分鐘
13.1 函數的定義與調用 209
13.1.1 函數的定義 209
13.1.2 函數的調用 210
13.1.3 函數的參數 210
13.1.4 函數的返回值 212
13.2 函數的引用 212
13.2.1 引用的定義 212
13.2.2 函數的引用 213
13.2.3 引用的釋放 213
13.3 PHP常用函數 214
13.3.1 數學函數 214
13.3.2 遞歸函數 216
13.3.3 回調函數 217
13.4 就業面試技巧與解析 218
13.4.1 面試技巧與解析(一) 218
13.4.2 面試技巧與解析(二) 218
第4篇 高級應用
第14章 phpMyAdmin圖形化管理工具 220
◎ 本章教學微視頻:6個 25分鐘
14.1 phpMyAdmin介紹 220
14.2 phpMyAdmin的使用 221
14.2.1 操作數據庫 221
14.2.2 操作數據表 223
14.2.3 使用SQL語句操作數據表 225
14.2.4 管理數據記錄 227
14.2.5 生成和執行MySQL數據庫腳本 229
14.3 就業面試技巧與解析 231
14.3.1 面試技巧與解析(一) 231
14.3.2 面試技巧與解析(二) 231
第15章 PHP操作MySQL數據庫 232
◎ 本章教學微視頻:12個 31分鐘
15.1 PHP訪問MySQL數據庫的一般
步驟 232
15.2 PHP操作MySQL數據庫的方法 233
15.2.1 使用mysqli_connect()函數連接
MySQL服務器 233
15.2.2 使用mysqli_select_db()函數選擇
數據庫 234
15.2.3 使用mysqli_query()函數執行SQL
語句 234
15.2.4 使用mysqli_fetch_array()函數從數
組結果集中獲取信息 235
15.2.5 使用mysqli_fetch_object()函數從
結果集中獲取一行作為對象 236
15.2.6 使用mysqli_fetch_row()函數逐行
獲取結果集中的每條記錄 237
15.2.7 使用mysqli_num_rows()函數獲取
查詢結果集中的記錄數 238
15.3 PHP操作MySQL數據庫 238
15.3.1 使用insert語句動態添加學生成績
信息 238
15.3.2 使用select語句查詢學生成績
信息 242
15.3.3 使用update語句修改學生成績
信息 243
15.3.4 使用delete語句刪除學生成績
信息 245
15.4 就業面試技巧與解析 248
15.4.1 面試技巧與解析(一) 248
15.4.2 面試技巧與解析(二) 248
第16章 PDO數據庫抽象層 249
◎ 本章教學微視頻:16個 29分鐘
16.1 什麼是PDO 249
16.1.1 PDO概述 249
16.1.2 安裝PDO 250
16.2 PDO連接數據庫 250
16.2.1 PDO構造函數 250
16.2.2 DSN詳解 251
16.3 PDO中執行SQL語句 252
16.3.1 exec()方法 252
16.3.2 query()方法 252
16.3.3 預處理語句——prepare()和execute()
方法 253
16.4 PDO中獲取結果集 254
16.4.1 fetch()方法 254
16.4.2 fetchAll()方法 255
16.4.3 fetchColumn()方法 256
16.5 PDO中捕獲SQL語句中的錯誤 257
16.5.1 使用默認模式——PDO::ERRMODE
_SILENT 257
16.5.2 使用警告模式——PDO::ERRMODE
_WARNING 258
16.5.3 使用異常模式——PDO::ERRMODE
_EXCEPTION 259
16.6 PDO中錯誤處理 260
16.6.1 errorCode()方法 260
16.6.2 errorInfo()方法 261
16.7 PDO中事務處理 263
16.8 就業面試技巧與解析 264
16.8.1 面試技巧與解析(一) 264
16.8.2 面試技巧與解析(二) 264
第5篇 項目實踐
第17章 論壇系統 266
◎ 本章教學微視頻:4個 20分鐘
17.1 論壇概述 266
17.1.1 開發環境 266
17.1.2 文件結構 267
17.2 論壇教程簡介 267
17.2.1 論壇數據庫搭建 267
17.2.2 論壇的版塊 270
17.2.3 添加論壇 271
17.2.4 處理添加的論壇頁面 273
17.2.5 登錄頁面 273
17.2.6 登錄驗證頁面 275
17.2.7 註冊頁面 275
17.2.8 註冊驗證頁面 277
17.2.9 論壇詳情頁 278
17.2.10 發布新帖 280
17.2.11 處理新發帖的頁面 281
17.2.12 帖子回复 282
17.2.13 查看帖子詳情 283
17.2.14 處理回复帖子的頁面 285
17.3 論壇完整代碼 285
17.3.1 首頁完整代碼 285
17.3.2 登錄完整代碼 287
17.3.3 登錄驗證頁面 289
17.3.4 註冊頁面 290
17.3.5 處理註冊頁面 291
17.3.6 添加論壇 292
17.3.7 處理添加的論壇頁面 293
17.3.8 論壇詳情 293
17.3.9 發布新帖 296
17.3.10 處理髮布的新帖頁面 297
17.3.11 查看帖子詳情 298
17.3.12 帖子回复 299
17.3.13 處理帖子的頁面 300
17.4 論壇展示 301
第18章 文章發布系統 305
◎ 本章教學微視頻:4個 18分鐘
18.1 系統概述 305
18.1.1 開發環境 305
18.1.2 文件結構 306
18.1.3 創建數據庫 306
18.2 後台的開發 308
18.2.1 添加頁面 308
18.2.2 添加處理頁面 309
18.2.3 文章管理頁面 310
18.2.4 文章修改頁面 312
18.2.5 修改處理頁面 313
18.2.6 刪除文章頁面 313
18.2.7 分頁頁面 314
18.3 前台的實現 314
18.3.1 文章列表頁面 314
18.3.2 文章詳情頁 317
18.3.3 登錄頁面 320
18.3.4 登錄處理頁面 321
18.3.5 註冊頁面 322
18.3.6 註冊處理頁面 323
18.3.7 評論頁面 324
18.3.8 評論處理頁面 325
18.4 展示效果 326
18.4.1 後台展示效果 326
18.4.2 前台展示效果 327
第19章 企業網站管理系統 329
◎ 本章教學微視頻:10個 31分鐘
19.1 系統概述 329
19.1.1 開發環境 330
19.1.2 文件結構 330
19.1.3 創建數據庫 331
19.2 後台框架 333
19.3 登錄驗證 335
19.4 退出系統 336
19.5 展示“管理員管理”信息 337
19.5.1 添加管理員 339
19.5.2 修改管理員 340
19.5.3 刪除管理員 341
19.6 展示“關於我們”信息 341
19.6.1 修改“關於我們”信息 342
19.6.2 添加“關於我們”信息 344
19.6.3 刪除“關於我們”信息 345
19.7 展示“新聞資訊”頁面 345
19.7.1 添加“新聞資訊”頁面 347
19.7.2 修改“新聞資訊”頁面 348
19.7.3 刪除“新聞資訊”頁面 349
19.8 展示“產品展示”頁面 349
19.8.1 添加“產品展示”頁面 351
19.8.2 修改“產品展示”頁面 353
19.8.3 刪除“產品展示”頁面 355
19.9 展示“聯繫我們”信息 355
19.9.1 添加“聯繫我們”信息 357
19.9.2 修改“聯繫我們”信息 359
19.9.3 刪除“聯繫我們”信息 360
19.10 前台展示效果 360
19.10.1 “關於我們”頁面 360
19.10.2 “新聞資訊”頁面 362
19.10.3 “產品展示”頁面 363
19.10.4 “聯繫我們”頁面 365
第20章 圖書管理系統 367
◎ 本章教學微視頻:4個 16分鐘
20.1 圖書管理系統概述 367
20.1.1 開發環境 367
20.1.2 文件結構 368
20.1.3 系統功能 368
20.2 圖書管理系統介紹 369
20.2.1 創建數據庫和數據表 369
20.2.2 創建登錄驗證碼 370
20.2.3 管理員登錄頁面 371
20.2.4 管理員登錄功能的實現 373
20.2.5 管理頁面的頭部模塊 374
20.2.6 管理頁面的左側模塊 375
20.2.7 管理頁面的右側模塊 375
20.2.8 管理員密碼更改頁面 376
20.2.9 密碼更改功能的實現 377
20.2.10 新書管理頁面 378
20.2.11 新書管理分頁功能的實現 379
20.2.12 新書管理中的修改頁面 380
20.2.13 新書管理中修改和刪除功能的
實現 382
20.2.14 新書添加頁面 383
20.2.15 新書添加功能的實現 384
20.2.16 圖書查詢頁面 385
20.2.17 圖書查詢功能的實現 386
20.2.18 圖書統計功能的實現 387
20.3 圖書管理系統文件展示 388
20.3.1 系統登錄頁面 388
20.3.2 系統內容頁面 390
20.3.3 系統修改密碼功能頁面 391
20.3.4 系統新書管理頁面 393
20.3.5 系統新書管理中修改和刪除功能 394
20.3.6 系統新書入庫頁面 396
20.3.7 系統圖書查詢頁面 398
20.3.8 系統圖書統計完整代碼 400
20.4 圖書管理系統效果展示 401
作者介紹
聚慕課教育研發中心,是有一家軟件開發公司和線下培訓機構共同組建的IT圖書研發中心,具有18年的圖書開發和12年軟件開發經驗。該研發中心有軟件開發團隊,一批一線軟件培訓講師,高校青年教師以及學科專家團隊構成。致力於IT類圖書策劃、組稿、及編寫。我們對計算機圖書市場進行科學、嚴謹的調查分析,緊跟高新科技,深度挖掘讀者需求,整合優質作者資源,協助作者制定創作計劃、確立創作思想與體例,並實時監控創作質量與進度,確保做出讓讀者讀得懂、用的好、學的會的計算機類圖書。