PHP動態網站開發案例課堂

《PHP動態網站開發案例課堂》是2016年3月1日清華大學出版社出版的圖書,作者是劉玉紅、蒲娟。

基本介紹

  • 書名:PHP動態網站開發案例課堂
  • 作者:劉玉紅、蒲娟
  • ISBN:9787302428862
  • 定價:68元
  • 出版社:清華大學出版社
  • 出版時間:2016年3月1日
內容簡介,章節目錄,

內容簡介

本書以零基礎講解為宗旨,用實例引導讀者深入學習,採取“PHP基礎知識→核心技術→操作數據庫→高級套用→項目實戰”的講解模式,深入淺出地講解PHP開發動態網站的各項技術及實戰技能。本書第1篇“PHP基礎知識”主要講解初識PHP,配置PHP伺服器環境,PHP語言基礎,流程控制和函式,字元串和正則表達式、PHP數組及操作等;第2篇“核心技術”主要講解PHP與Web頁面互動、時間和日期,面向對象編程,錯誤、異常處理與調試,檔案系統與操作,圖形圖像處理技術,Cookie和會話管理,PHP加密技術等;第3篇“運算元據庫”主要講解MySQL資料庫基礎,使用MySQL Workbench管理MySQL資料庫,PHP操作MySQL資料庫等;第4篇“高級套用”主要講解PDO資料庫抽象類庫,JavaScript編程基礎,PHP與XML技術的綜合套用,PHP與Ajax的綜合套用,MVC結構與Smarty模板,Zend Framework框架等;第5篇“項目實戰”主要通過一個綜合案例開發論壇來整體講解PHP在動態網站開發中的技術。本書附帶的DVD光碟中贈送了豐富的資源,諸如本書實例完整原始碼、教學幻燈片、本書精品教學視頻、常用SQL語句速查手冊、PHP常用函式速查手冊、16個經典項目開發完整源碼、PHP網站開發工程師面試技巧、PHP網站開發工程師常見面試題、優秀網站開發工程師之路——網站開發經驗及技巧大匯總。本書適合任何想學習PHP開發動態網站的人員,無論您是否從事計算機相關行業,無論您是否接觸過PHP,通過學習均可快速掌握PHP開發動態網站的方法和技巧。

章節目錄

第1篇PHP基礎知識
第1章初識PHP 3
1.1了解PHP 4
1.1.1PHP的概念 4
1.1.2PHP的發展歷程 4
1.1.3PHP語言的優勢 5
1.2PHP的套用領域 5
1.3PHP5.5的新特點 6
1.4PHP常用開發工具 8
1.4.1PHP代碼開發工具 8
1.4.2網頁設計工具 9
1.4.3文本編輯工具 9
1.5網站建設的基本流程 10
1.5.1網站規劃 10
1.5.2蒐集資料 10
1.5.3製作網頁 11
1.5.4網站測試 12
1.5.5申請域名 12
1.5.6申請空間 12
1.5.7網站備案 12
1.5.8發布網頁 16
1.5.9網站推廣和維護 16
1.6高手甜點 17
1.7跟我練練手 17
第2章配置PHP伺服器環境 19
2.1PHP伺服器概述 20
2.2安裝PHP前的準備工作 20
2.2.1軟硬體環境 20
2.2.2實例1——獲取PHP5.5安裝
資源包 21
2.3PHP+IIS伺服器的安裝配置 22
2.3.1實例2——IIS簡介及其安裝 23
2.3.2實例3——PHP的安裝 24
2.3.3實例4——設定虛擬目錄 26
2.4PHP+Apache伺服器的環境搭建 27
2.4.1Apache簡介 28
2.4.2實例5——關閉原有的網站
伺服器 28
2.4.3實例6——安裝Apache 29
2.4.4實例7——將PHP與Apache
建立關聯 30
2.5實例8——Windows下使用WampServer
組合包 32
2.6實例9——測試第一個PHP程式 34
2.7高手甜點 35
2.8跟我練練手 36
第3章PHP語言基礎 37
3.1PHP標識 38
3.1.1短風格 38
3.1.2Script風格 38
3.1.3ASP風格 38
3.2編碼規範 38
3.2.1什麼是編碼規範 39
3.2.2PHP的一些編碼規範 39
3.3常量 40
3.3.1實例1——聲明和使用常量 40
3.3.2實例2——內置常量 41
3.4變數 43
3.4.1PHP中的變數聲明 43
3.4.2實例3——可變變數與變數的
引用 43
3.4.3實例4——變數作用域 44
3.5變數的類型 48
3.5.1什麼是類型 48
3.5.2整型 49
3.5.3浮點型 49
3.5.4布爾型 49
3.5.5實例5——字元串型 50
3.5.6實例6——數組型 51
3.5.7對象型 53
3.5.8NULL型 53
3.5.9資源類型 54
3.5.10實例7——數據類型之間相互
轉換 54
3.6運算符 55
3.6.1實例8——算術運算符 55
3.6.2實例9——字元串運算符 56
3.6.3賦值運算符 57
3.6.4實例10——比較運算符 58
3.6.5邏輯運算符 59
3.6.6按位運算符 59
3.6.7否定控制運算符 60
3.6.8錯誤控制運算符 60
3.6.9三元運算符 60
3.6.10運算符的優先權和結合規則 60
3.7PHP的表達式 60
3.8實例11——創建多維數組 61
3.9高手甜點 62
3.10跟我練練手 62
第4章流程控制和函式 63
4.1流程控制概述 64
4.2條件控制結構 64
4.2.1實例1——單一條件分支結構
(if語句) 64
4.2.2實例2——雙向條件分支結構
(if…else語句) 65
4.2.3實例3——多向條件分支結構
(elseif語句) 66
4.2.4實例4——多向條件分支結構
(switch語句) 68
4.3循環控制結構 69
4.3.1實例5——while循環語句 69
4.3.2實例6——do…while循環
語句 71
4.3.3實例7——for循環語句 72
4.3.4實例8——foreach循環語句 73
4.3.5實例9——流程控制的另一種
書寫格式 74
4.3.6實例10——使用break/continue
語句跳出循環 76
4.4函式 77
4.4.1PHP函式概述 77
4.4.2實例11——定義和調用函式 77
4.4.3實例12——向函式傳遞參數
數值 78
4.4.4實例13——向函式傳遞參數
引用 79
4.4.5實例14——從函式中返回值 80
4.4.6實例15——對函式的引用 81
4.4.7實例16——對函式取消引用 82
4.5實例17——條件分支結構的綜合
套用 83
4.6實例18——循環控制結構的綜合
套用 84
4.7高手甜點 85
4.8跟我練練手 86
第5章字元串和正則表達式 87
5.1實例1——字元串的單引號和雙引號 88
5.2實例2——字元串的連線符 89
5.3字元串的基本操作 91
5.3.1手動和自動轉義字元串中的
字元 91
5.3.2實例3——計算字元串的長度 91
5.3.3實例4——字元串單詞統計 92
5.3.4實例5——清理字元串中的
空格 92
5.3.5實例6——字元串切分與組合 93
5.3.6實例7——字元串子串截取 94
5.3.7實例8——字元串子串替換 95
5.3.8實例9——字元串查找 96
5.4什麼是正則表達式 97
5.5正則表達式語法規則 97
5.5.1方括弧([]) 98
5.5.2連字元(-) 98
5.5.3點號字元(.) 98
5.5.4限定符(+、*、?、{n,m}) 98
5.5.5行定位符(^和$) 98
5.5.6排除字元([^]) 99
5.5.7括弧字元(()) 99
5.5.8選擇字元(|) 99
5.5.9轉義字元(\)與反斜槓(\ 99
5.5.10認證email的正則表達 99
5.5.11實例10——使用正則表達式對
字元串進行匹配 100
5.5.12實例11——使用正則表達式
替換字元串子串 101
5.5.13實例12——使用正則表達式
切分字元串 102
5.6實例13——創建酒店系統線上
訂房表 103
5.7高手甜點 106
5.8跟我練練手 106
第6章PHP數組及操作 109
6.1什麼是數組 110
6.2數組類型 110
6.2.1實例1——數字索引數組 110
6.2.2實例2——關聯索引數組 111
6.3數組構造 112
6.3.1實例3——一維數組 112
6.3.2實例4——多維數組 113
6.4遍歷數組 115
6.4.1實例5——遍歷一維數字索引
數組 115
6.4.2實例6——遍歷一維聯合索引
數組 116
6.4.3實例7——遍歷多維數組 117
6.5數組排序 118
6.5.1實例8——一維數組排序 118
6.5.2實例9——多維數組排序 120
6.6實例10——字元串與數組的轉換 121
6.7向數組中添加和刪除元素 122
6.7.1實例11——向數組中添加
元素 122
6.7.2實例12——從數組中刪除
元素 124
6.8實例13——查詢數組中指定元素 126
6.9實例14——統計數組元素個數 127
6.10實例15——刪除數組中重複元素 129
6.11實例16——調換數組中的鍵值
和元素值 130
6.12實例17——數組的序列化 131
6.13高手甜點 132
6.14跟我練練手 132
第2篇核心技術
第7章PHP與Web頁面互動 137
7.1實例1——使用動態內容 138
7.2表單與PHP 139
7.3表單設計 139
7.3.1表單基本結構 139
7.3.2實例2——文本框 139
7.3.3實例3——選項框 141
7.3.4實例4——單選按鈕 142
7.3.5實例5——下拉列表 144
7.3.6實例6——重置按鈕 145
7.3.7實例7——提交按鈕 146
7.4傳遞數據的兩種方法 148
7.4.1用POST方式傳遞數據 149
7.4.2實例8——用GET方式傳遞
數據 149
7.5PHP獲取表單傳遞數據的方法 150
7.6實例9——PHP對URL傳遞的參數
進行編碼 151
7.7實例10——PHP與Web表單的綜合
套用 151
7.8高手甜點 153
7.9跟我練練手 154
第8章時間和日期 155
8.1系統時區設定 156
8.1.1時區劃分 156
8.1.2時區設定 156
8.2PHP日期和時間函式 156
8.2.1關於UNIX時間戳 156
8.2.2實例1——獲取當前時間戳 157
8.2.3獲取當前日期和時間 158
8.2.4實例2——使用時間戳獲取日期
信息 158
8.2.5實例3——檢驗日期的
有效性 161
8.2.6實例4——輸出格式化時間戳的
日期和時間 162
8.2.7實例5——顯示本地化的日期
和時間 163
8.2.8實例6——將日期和時間解析
為UNIX時間戳 165
8.2.9日期和時間在PHP和MySQL
數據格式之間轉換 165
8.3實例7——比較兩個時間的大小 166
8.4實例8——實現倒計時功能 167
8.5高手甜點 167
8.6跟我練練手 168
第9章面向對象編程 169
9.1類和對象的介紹 170
9.2PHP中類的操作 171
9.2.1類的聲明 171
9.2.2成員屬性 171
9.2.3成員方法 172
9.2.4類的實例化 172
9.2.5實例1——訪問類中的成員屬性
和方法 173
9.3實例2——構造方法和析構方法 174
9.4實例3——訪問方法 176
9.5實例4——類的繼承 178
9.6抽象類和接口 179
9.6.1實例5——抽象類 179
9.6.2實例6——接口 180
9.7面向對象的多態性 183
9.7.1實例7——通過繼承實現
多態 183
9.7.2實例8——通過接口實現
多態 184
9.8高手甜點 186
9.9跟我練練手 186
第10章錯誤、異常處理與調試 187
10.1常見的錯誤和異常 188
10.2錯誤處理 191
10.2.1php.ini中的錯誤處理機制 191
10.2.2實例1——套用DIE語句
調試 191
10.2.3實例2——自定義錯誤和錯誤
觸發器 192
10.2.4實例3——錯誤記錄 196
10.3異常處理 197
10.3.1實例4——異常的基本處理
方法 197
10.3.2實例5——自定義的異常
處理器 199
10.3.3實例6——處理多個異常 200
10.3.4實例7——設定頂層異常
處理器 202
10.4實例8——處理異常或錯誤 203
10.5高手甜點 204
10.6跟我練練手 205
第11章檔案系統與操作 207
11.1檔案操作 208
11.1.1實例1——檔案數據寫入 208
11.1.2實例2——檔案數據讀取 211
11.2實例3——目錄操作 213
11.3實例4——檔案的上傳 218
11.4實例5——編寫文本類型的訪客
計算器 220
11.5高手甜點 221
11.6跟我練練手 221
第12章圖形圖像處理技術 223
12.1實例1——在PHP中載入GD庫 224
12.2圖形圖像的典型套用案例 226
12.2.1實例2——創建一個簡單的
圖像 226
12.2.2實例3——使用GD2函式在
照片上添加文字 228
12.2.3實例4——使用TrueType字型
處理中文生成圖片 229
12.3Jpgraph庫的使用 231
12.3.1實例5——Jpgraph的安裝 231
12.3.2實例6——Jpgraph的配置 232
12.3.3實例7——製作柱形圖
與折線圖統計圖 232
12.3.4實例8——製作圓形統計圖 234
12.4實例9——製作3D餅形統計圖 236
12.5高手甜點 237
12.6跟我練練手 238
第13章Cookie和會話管理 239
13.1Cookie基本操作 240
13.1.1什麼是Cookie 240
13.1.2實例1——創建Cookie 240
13.1.3實例2——讀取Cookie 241
13.1.4實例3——刪除Cookie 242
13.2認識Session 243
13.2.1什麼是Session 243
13.2.2Session基本功能 244
13.2.3Cookie與Session 244
13.2.4儲存SessionID在Cookie
或URL中 244
13.3會話管理 244
13.3.1實例4——創建會話 244
13.3.2實例5——註冊會話變數 245
13.3.3實例6——使用會話變數 246
13.3.4實例7——註銷和銷毀會話
變數 246
13.4實例8——會話管理的綜合套用 247
13.5高手甜點 248
13.6跟我練練手 249
第14章PHP加密技術 251
14.1使用PHP加密函式 252
14.1.1實例1——使用md5()函式進行
加密 252
14.1.2實例2——使用crypt()函式
進行加密 252
14.1.3實例3——使用sha1()函式進行
加密 254
14.2使用PHP加密擴展庫 254
14.2.1實例4——安裝和使用Mcrypt
擴展庫 254
14.2.2實例5——使用Mhash
擴展庫 256
14.3高手甜點 258
14.4跟我練練手 259
第3篇資料庫操作
第15章MySQL資料庫基礎 263
15.1什麼是MySQL 264
15.1.1客戶機—伺服器軟體 264
15.1.2MySQL版本 264
15.1.3MySQL的優勢 265
15.2啟動服務並登錄MySQL資料庫 265
15.2.1實例1——啟動MySQL
服務 266
15.2.2實例2——登錄MySQL
資料庫 267
15.2.3實例3——配置Path變數 269
15.3MySQL資料庫的基本操作 271
15.3.1實例4——創建資料庫 271
15.3.2實例5——查看資料庫 271
15.3.3實例6——刪除資料庫 272
15.3.4實例7——選擇資料庫 272
15.4MySQL數據表的基本操作 273
15.4.1實例8——創建數據表 273
15.4.2實例9——查看數據表結構 274
15.4.3實例10——修改數據表
結構 275
15.4.4實例11——刪除數據表 276
15.5MySQL語句操作 276
15.5.1實例12——插入記錄 277
15.5.2實例13——查詢記錄 277
15.5.3實例14——修改記錄 278
15.5.4實例15——刪除記錄 278
15.6MySQL資料庫的備份與還原 278
15.6.1實例16——數據備份 279
15.6.2實例17——數據還原 285
15.7高手甜點 287
15.8跟我練練手 288
第16章使用MySQLWorkbench
管理MySQL資料庫 289
16.1MySQLWorkbench簡介 290
16.1.1MySQLWorkbench概述 290
16.1.2MySQLWorkbench的優勢 290
16.1.3MySQLWorkbench的安裝 290
16.2SQLDevelopment的基本操作 293
16.2.1創建資料庫連線 293
16.2.2創建新的資料庫 294
16.2.3創建和刪除新的數據表 296
16.2.4添加、修改表記錄 299
16.2.5查詢表記錄 299
16.2.6修改表結構 300
16.3DataModeling的基本操作 301
16.3.1建立E-R模型 301
16.3.2導入E-R模型 305
16.4ServerAdministration的基本操作 307
16.4.1管理MySQL用戶 307
16.4.2備份MySQL資料庫 310
16.4.3還原MySQL資料庫 313
16.5高手甜點 314
16.6跟我練練手 315
第17章PHP操作MySQL資料庫 317
17.1PHP訪問MySQL資料庫的一般
步驟 318
17.2實例1——連線資料庫前的準備
工作 318
17.3PHP操作MySQL資料庫的函式 319
17.3.1實例2——通過mysqli類庫訪問
MySQL資料庫 319
17.3.2實例3——使用mysqli_connect()
函式連線MySQL伺服器 321
17.3.3實例4——使用mysqli_select_db()
函式選擇資料庫檔案 322
17.3.4實例5——使用mysqli_query()
函式執行SQL語句 322
17.3.5實例6——使用mysqli_fetch_assoc()
函式從數組結果集中獲取
信息 322
17.3.6實例7——使用mysqli_fetch_
object()函式從結果中獲取
一行作為對象 323
17.3.7實例8——使用mysqli_num_
rows()函式獲取查詢結果
集中的記錄數 323
17.3.8實例9——使用mysqli_free_
result()函式釋放資源 323
17.3.9實例10——使用mysqli_close()
函式關閉連線 324
17.4實例11——使用insert語句動態添加
用戶信息 324
17.5實例12——使用select語句查詢數據
信息 326
17.6高手甜點 328
17.7跟我練練手 329
第4篇高級套用
第18章PDO資料庫抽象類庫 333
18.1PDO概述 334
18.2實例1——PDO的安裝 334
18.3使用PDO操作MySQL 335
18.3.1實例2——連線MySQL資料庫
的方法 335
18.3.2實例3——使用PDO時的try
catch錯誤處理結構 336
18.3.3實例4——使用PDO執行SQL
的選擇語句 338
18.3.4實例5——使用PDO獲取返回
數據的類方法 339
18.3.5實例6——使用PDO執行SQL
的添加、修改語句 341
18.3.6實例7——使用PDO執行SQL
的刪除語句 342
18.4實例8——PDO的prepare表述 343
18.5高手甜點 344
18.6跟我練練手 345
第19章JavaScript編程基礎 347
19.1認識JavaScript 348
19.1.1什麼是JavaScript 348
19.1.2JavaScript的特點 348
19.2JavaScript在HTML中的使用 349
19.2.1實例1——在HTML網頁頭中
嵌入JavaScript代碼 349
19.2.2實例2——在HTML網頁中嵌入
JavaScript代碼 350
19.2.3實例3——在HTML網頁的元素
事件中嵌入JavaScript代碼 351
19.2.4實例4——在HTML中調用已經
存在的JavaScript檔案 352
19.2.5實例5——通過JavaScript偽
URL引入JavaScript腳本
代碼 353
19.3JavaScript的基本語法 354
19.3.1執行順序 355
19.3.2區分大小寫 355
19.3.3分號與空格 355
19.3.4對代碼行進行折行 355
19.3.5實例6——注釋 356
19.4JavaScript的數據結構 357
19.4.1標識符 357
19.4.2關鍵字 358
19.4.3保留字 358
19.4.4常量 359
19.4.5實例7——變數 359
19.5看透代碼中的數據類型 361
19.5.1實例8——typeof運算符 362
19.5.2實例9——Undefined類型 363
19.5.3實例10——Null類型 363
19.5.4實例11——Boolean類型 364
19.5.5實例12——Number類型 365
19.5.6實例13——String類型 366
19.6條件判斷語句 367
19.6.1實例14——if語句 367
19.6.2實例15——if…else語句 368
19.6.3實例16——switch語句 369
19.7循環控制語句 371
19.7.1實例17——while語句 371
19.7.2實例18——do…while語句 372
19.7.3實例19——for循環 373
19.8在PHP中調用JavaScript代碼 374
19.8.1實例20——驗證表單元素的值
是否為空 374
19.8.2實例21——實現即時驗證
效果 375
19.9實例22——製作樹形選單 377
19.10高手甜點 381
19.11跟我練練手 382
第20章PHP與XML技術的綜合
套用 383
20.1實例1——理解XML概念 384
20.2XML語法基礎 385
20.2.1實例2——XML文檔組成
和聲明 385
20.2.2實例3——XML元素介紹 387
20.2.3處理指令實體引用 389
20.2.4實例4——XML命名空間 389
20.2.5實例5——XMLDTD 390
20.2.6實例6——使用CDATA
標籤 391
20.3實例7——將XML文檔轉換為HTML
加以輸出 392
20.4實例8——在PHP中創建XML
文檔 392
20.5使用SimpleXML擴展 393
20.5.1實例9——創建SimpleXMLElement
對象 393
20.5.2實例10——訪問特定節點元素
和屬性 395
20.5.3實例11——添加XML元素
和屬性 396
20.6實例12——動態創建XML文檔 397
20.7高手甜點 398
20.8跟我練練手 398
第21章PHP與Ajax的綜合套用 399
21.1Ajax概述 400
21.1.1實例1——什麼是Ajax 400
21.1.2Ajax的關鍵元素 403
21.1.3實例2——CSS與Ajax 403
21.2Ajax快速入門 404
21.2.1實例3——全面剖析
XMLHttpRequest對象 404
21.2.2實例4——發出Ajax請求 406
21.2.3實例5——處理伺服器回響 408
21.3實例6——在PHP中套用Ajax技術
的套用 409
21.4高手甜點 414
21.5跟我練練手 415
第22章MVC結構與Smarty模板 417
22.1MVC概述 418
22.2什麼是模板引擎 419
22.3Smarty概述 419
22.3.1什麼是Smarty 419
22.3.2Smarty與MVC 420
22.4Smarty的安裝和配置 420
22.4.1實例1——Smarty下載
和安裝 420
22.4.2實例2——第一個Smarty
程式 421
22.5Smarty模板設計 422
22.5.1Smarty模板檔案 422
22.5.2實例3——Smarty標識 422
22.5.3實例4——Smarty變數 424
22.5.4實例5——Smarty數組 425
22.5.5實例6——Smarty中流程控制
語句 426
22.6高手甜點 428
22.7跟我練練手 428
第23章ZendFramework框架 429
23.1什麼是ZendFramework框架 430
23.2ZendFramework的目錄結構 430
23.3ZendFramework的安裝與測試 431
23.3.1實例1——ZendFramework的
安裝 431
23.3.2實例2——創建一個新的Zend
Framework套用 431
23.4PHP與ZendFramework的基本
操作 434
23.4.1實例3——在ZendFramework
套用中創建控制層檔案 434
23.4.2實例4——在ZendFramework的
控制層檔案中添加一個action 435
23.4.3實例5——在ZendFramework中
創建布局(layout) 436
23.4.4實例6——在ZendFramework中
的資料庫操作 437
23.4.5實例7——在ZendFramework中
創建表單 438
23.5高手甜點 440
23.6跟我練練手 440
第5篇項目實戰
第24章開發論壇 443
24.1網站的需求分析 444
24.1.1需求分析 444
24.1.2網站功能模組分析 444
24.2資料庫分析 444
24.2.1分析資料庫 445
24.2.2創建數據表 445
24.3論壇的代碼實現 446
24.3.1資料庫連線相關檔案 446
24.3.2論壇主頁面 452
24.3.3新用戶註冊頁面 456
24.3.4論壇帖子的相關頁面 459
24.3.5後台管理系統的相關頁面 469

相關詞條

熱門詞條

聯絡我們