PHP從入門到精通(第3版)

PHP從入門到精通(第3版)

《PHP從入門到精通(第3版)》是2014年清華大學出版社出版的圖書。

內容簡介

《PHP從入門到精通(第3版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用PHP進行網路開發應該掌握的各方面技術。

圖書目錄

第1篇基礎知識

第1章初識PHP 3

視頻講解:23分鐘

1.1PHP概述 4

1.1.1什麼是PHP 4

1.1.2PHP語言的優勢 4

1.1.3PHP5的新特性 5

1.1.4PHP的發展趨勢 5

1.1.5PHP的套用領域 6

1.2擴展庫 7

1.3如何學好PHP 9

1.4學習資源 10

1.4.1常用軟體資源 10

1.4.2常用網上資源 11

1.4.3主要圖書網站 11

1.5網站建設的基本流程 12

1.6小結 12

第2章PHP環境搭建和開發工具 13

視頻講解:36分鐘

2.1在Windows下使用AppServ

組合包 14

2.2在Linux下的安裝配置 16

2.2.1安裝Apache伺服器 17

2.2.2安裝MySQL資料庫 18

2.2.3安裝PHP5語言 18

2.3PHP常用開發工具 20

2.4第一個PHP實例 21

2.5小結 23

2.6練習與實踐 23

第3章PHP語言基礎 25

視頻講解:1小時55分鐘

3.1PHP標記風格 26

3.2PHP注釋的套用 27

3.3PHP的數據類型 28

3.3.1標量數據類型 28

3.3.2複合數據類型 33

3.3.3特殊數據類型 33

3.3.4轉換數據類型 35

3.3.5檢測數據類型 36

3.4PHP常量 37

3.4.1聲明和使用常量 37

3.4.2預定義常量 38

3.5PHP變數 39

3.5.1變數聲明及使用 39

3.5.2變數作用域 41

3.5.3可變變數 43

3.5.4PHP預定義變數 43

3.6PHP運算符 44

3.6.1算術運算符 44

3.6.2字元串運算符 45

3.6.3賦值運算符 46

3.6.4位運算符 46

3.6.5邏輯運算符 47

3.6.6比較運算符 48

3.6.7錯誤控制運算符 49

3.6.8三元運算符 49

3.6.9運算符的優先順序和結合規則 50

3.7PHP的表達式 50

3.8PHP函式 51

3.8.1定義和調用函式 51

3.8.2在函式間傳遞參數 52

3.8.3從函式中返回值 54

3.8.4變數函式 54

3.8.5對函式的引用 55

3.8.6取消引用 55

3.9PHP編碼規範 56

3.9.1什麼是編碼規範 56

3.9.2PHP書寫規則 57

3.9.3PHP命名規則 58

3.10小結 60

3.11練習與實踐 60

第4章流程控制語句 61

視頻講解:46分鐘

4.1條件控制語句 62

4.1.1if語句 62

4.1.2if…else語句 63

4.1.3elseif語句 64

4.1.4switch…case多重判斷語句 65

4.2循環控制語句 67

4.2.1while循環語句 68

4.2.2do…while循環語句 68

4.2.3for循環語句 69

4.2.4foreach循環語句 70

4.2.5流程控制的另一種書寫格式 71

4.2.6使用break/continue語句跳出循環 72

4.3小結 75

4.4練習與實踐 75

第5章字元串操作 77

視頻講解:1小時13分鐘

5.1字元串簡介 78

5.2單引號和雙引號的區別 78

5.3字元串的連線符 79

5.4字元串操作 80

5.4.1去除字元串首尾空格和特殊字元 80

5.4.2轉義、還原字元串數據 82

5.4.3獲取字元串的長度 85

5.4.4截取字元串 86

5.4.5比較字元串 87

5.4.6檢索字元串 90

5.4.7替換字元串 91

5.4.8格式化字元串 94

5.4.9分割字元串 94

5.4.10合成字元串 95

5.5小結 96

5.6練習與實踐 96

第6章正則表達式 97

視頻講解:43分鐘

6.1什麼是正則表達式 98

6.2正則表達式語法規則 98

6.2.1行定位符(^和$) 99

6.2.2單詞定界符(\b、\B) 99

6.2.3字元類([]) 99

6.2.4選擇字元(|) 100

6.2.5連字元(-) 100

6.2.6排除字元([^]) 101

6.2.7限定符(?*+{n,m}) 101

6.2.8點號字元(.) 101

6.2.9轉義字元(\) 102

6.2.10反斜線(\) 102

6.2.11括弧字元(()) 103

6.2.12反向引用 103

6.2.13模式修飾符 104

6.3POSIX擴展正則表達式函式 104

6.3.1ereg()函式和eregi()函式 105

6.3.2ereg_replace()函式和eregi_replace()

函式 105

6.3.3split()函式和spliti()函式 105

6.4PCRE兼容正則表達式函式 106

6.4.1preg_grep()函式 106

6.4.2preg_match()函式和preg_match_all()

函式 107

6.4.3preg_quote()函式 107

6.4.4preg_replace()函式 108

6.4.5preg_replace_callback()函式 109

6.4.6preg_split()函式 109

6.5套用正則表達式對用戶註冊信息

進行驗證 109

6.6小結 112

6.7練習與實踐 112

第7章PHP數組 113

視頻講解:1小時23分鐘

7.1什麼是數組 114

7.2聲明數組 114

7.3數組的類型 116

7.3.1數字索引數組 116

7.3.2關聯數組 116

7.4輸出數組 117

7.5數組的構造 118

7.5.1一維數組 118

7.5.2二維數組 118

7.6遍歷數組 119

7.7字元串與數組的轉換 121

7.8統計數組元素個數 123

7.9查詢數組中指定元素 124

7.10獲取數組中最後一個元素 125

7.11向數組中添加元素 126

7.12刪除數組中重複元素 127

7.13綜合運用數組函式——實現多檔案

上傳 127

7.14小結 129

7.15練習與實踐 129

第8章PHP與Web頁面互動 131

視頻講解:58分鐘

8.1表單 132

8.1.1創建表單 132

8.1.2表單元素 133

8.2在普通的Web頁中插入表單 136

8.3獲取表單數據的兩種方法 138

8.3.1使用POST()方法提交表單 138

8.3.2使用GET()方法提交表單 139

8.4PHP參數傳遞的常用方法 140

8.4.1$_POST[]全局變數 140

8.4.2$_GET[]全局變數 141

8.4.3$_SESSION[]變數 141

8.5在Web頁中嵌入PHP腳本 141

8.5.1在HTML標記中添加PHP腳本 141

8.5.2對表單元素的value屬性進行賦值 142

8.6在PHP中獲取表單數據 142

8.6.1獲取文本框、密碼域、隱藏域、按鈕、

文本域的值 142

8.6.2獲取單選按鈕的值 143

8.6.3獲取複選框的值 144

8.6.4獲取下拉列表框/選單列表框的值 145

8.6.5獲取檔案域的值 148

8.7對URL傳遞的參數進行編/解碼 149

8.7.1對URL傳遞的參數進行編碼 149

8.7.2對URL傳遞的參數進行解碼 150

8.8PHP與Web表單的綜合套用 150

8.9小結 151

8.10練習與實踐 152

第9章PHP與JavaScript互動 153

視頻講解:1小時05分鐘

9.1了解JavaScript 154

9.1.1什麼是JavaScript 154

9.1.2JavaScript的功能 154

9.2JavaScript語言基礎 154

9.2.1JavaScript數據類型 155

9.2.2JavaScript變數 155

9.2.3JavaScript注釋 156

9.3自定義函式 157

9.4JavaScript流程控制語句 158

9.4.1條件語句 158

9.4.2循環語句 162

9.4.3跳轉語句 163

9.5JavaScript事件 165

9.6調用JavaScript腳本(JavaScript腳本

嵌入方式) 166

9.6.1在HTML中嵌入JavaScript腳本 166

9.6.2套用JavaScript事件調用自定義函式 167

9.6.3在PHP動態網頁中引用JS檔案 167

9.6.4解決瀏覽器不支持JavaScript的問題 168

9.7在PHP中調用JavaScript腳本 171

9.7.1套用JavaScript腳本驗證表單元素是否

為空 171

9.7.2套用JavaScript腳本製作二級導航

選單 172

9.7.3套用JavaScript腳本控制文本域和

複選框 174

9.8小結 176

9.9練習與實踐 176

第10章日期和時間 177

視頻講解:30分鐘

10.1系統時區設定 178

10.1.1時區劃分 178

10.1.2時區設定 178

10.2PHP日期和時間函式 178

10.2.1獲得本地化時間戳 179

10.2.2獲取當前時間戳 180

10.2.3獲取當前日期和時間 180

10.2.4獲取日期信息 181

10.2.5檢驗日期的有效性 182

10.2.6輸出格式化的日期和時間 183

10.2.7顯示本地化的日期和時間 184

10.2.8將日期和時間解析為UNIX時間戳 187

10.3日期和時間的套用 188

10.3.1比較兩個時間的大小 188

10.3.2實現倒計時功能 189

10.3.3計算頁面腳本的運行時間 190

10.4小結 191

10.5練習與實踐 191

第2篇核心技術

第11章Cookie與Session 195

視頻講解:1小時08分鐘

11.1Cookie管理 196

11.1.1了解Cookie 196

11.1.2創建Cookie 197

11.1.3讀取Cookie 198

11.1.4刪除Cookie 199

11.1.5Cookie的生命周期 200

11.2Session管理 200

11.2.1了解Session 200

11.2.2創建會話 201

11.2.3Session設定時間 203

11.2.4通過Session判斷用戶的操作許可權 204

11.3Session高級套用 207

11.3.1Session臨時檔案 207

11.3.2Session快取 208

11.3.3Session資料庫存儲 209

11.4小結 212

11.5練習與實踐 212

第12章圖形圖像處理技術 213

視頻講解:46分鐘

12.1在PHP中載入GD庫 214

12.2Jpgraph的安裝與配置 215

12.2.1Jpgraph的安裝 215

12.2.2Jpgraph的配置 215

12.3圖形圖像的典型套用 216

12.3.1創建一個簡單的圖像 216

12.3.2使用GD2函式在照片上添加文字 216

12.3.3使用圖像處理技術生成驗證碼 217

12.3.4使用柱形圖統計圖書月銷售量 219

12.3.5使用折線圖統計圖書月銷售額 220

12.3.6使用3D餅形圖統計各類商品的年銷售

額比率 222

12.4小結 223

12.5練習與實踐 223

第13章檔案系統 225

視頻講解:49分鐘

13.1檔案處理 226

13.1.1打開/關閉檔案 226

13.1.2讀寫檔案 227

13.1.3操作檔案 232

13.2目錄處理 233

13.2.1打開/關閉目錄 233

13.2.2瀏覽目錄 234

13.2.3操作目錄 234

13.3檔案處理的高級套用 235

13.3.1遠程檔案的訪問 235

13.3.2檔案指針 235

13.3.3鎖定檔案 237

13.4檔案上傳 238

13.4.1配置php.ini檔案 238

13.4.2預定義變數$_FILES 238

13.4.3檔案上傳函式 239

13.4.4多檔案上傳 240

13.5小結 242

13.6練習與實踐 242

第14章面向對象 243

視頻講解:27分鐘

14.1面向對象的基本概念 244

14.1.1類 244

14.1.2對象 244

14.1.3面向對象編程的三大特點 245

14.2PHP與對象 245

14.2.1類的定義 245

14.2.2成員方法 246

14.2.3類的實例化 246

14.2.4成員變數 247

14.2.5類常量 248

14.2.6構造方法和析構方法 249

14.2.7繼承和多態的實現 251

14.2.8“$this->”和“::”的使用 254

14.2.9數據隱藏 255

14.2.10靜態變數(方法) 257

14.3PHP對象的高級套用 259

14.3.1final關鍵字 259

14.3.2抽象類 260

14.3.3接口的使用 261

14.3.4克隆對象 263

14.3.5對象比較 264

14.3.6對象類型檢測 265

14.3.7魔術方法(__) 266

14.4面向對象的套用——中文字元串的

截取類 270

14.5小結 272

14.6練習與實踐 272

第15章PHP加密技術 273

視頻講解:24分鐘

15.1PHP加密函式 274

15.1.1使用crypt()函式進行加密 274

15.1.2使用md5()函式進行加密 275

15.1.3使用sha1()函式進行加密 277

15.2PHP加密擴展庫 278

15.2.1Mcrypt擴展庫 278

15.2.2Mhash擴展庫 280

15.3小結 282

15.4練習與實踐 282

第16章MySQL資料庫基礎 283

視頻講解:40分鐘

16.1MySQL概述 284

16.2啟動、連線、斷開和停止MySQL

伺服器 285

16.2.1啟動MySQL伺服器 285

16.2.2連線和斷開MySQL伺服器 286

16.2.3停止MySQL伺服器 287

16.3MySQL資料庫操作 288

16.3.1創建資料庫CREATEDATABASE 288

16.3.2查看資料庫SHOWDATABASES 289

16.3.3選擇資料庫USEDATABASE 289

16.3.4刪除資料庫DROPDATABASE 290

16.4MySQL數據表操作 290

16.4.1創建數據表CREATETABLE 291

16.4.2查看錶結構SHOWCOLUMNS或

DESCRIBE 292

16.4.3修改表結構ALTERTABLE 293

16.4.4重命名表RENAMETABLE 294

16.4.5刪除表DROPTABLE 295

16.5MySQL語句操作 295

16.5.1插入記錄insert 295

16.5.2查詢資料庫記錄select 296

16.5.3修改記錄update 297

16.5.4刪除記錄delete 298

16.6MySQL資料庫備份和恢復 298

16.6.1數據的備份 299

16.6.2數據的恢復 300

16.7小結 301

16.8練習與實踐 301

第17章phpMyAdmin圖形化管理工具 303

視頻講解:11分鐘

17.1phpMyAdmin介紹 304

17.2phpMyAdmin的使用 304

17.2.1運算元據庫 304

17.2.2運算元據表 306

17.2.3使用SQL語句運算元據表 307

17.2.4管理數據記錄 309

17.2.5生成和執行mysql資料庫腳本 311

17.3小結 313

17.4練習與實踐 313

第18章PHP操作MySQL資料庫 315

視頻講解:1小時15分鐘

18.1PHP訪問MySQL資料庫的一般

步驟 316

18.2PHP操作MySQL資料庫的方法 317

18.2.1使用mysql_connect()函式連線MySQL

伺服器 317

18.2.2使用mysql_select_db()函式選擇資料庫

檔案 319

18.2.3使用mysql_query()函式執行SQL語句 320

18.2.4使用mysql_fetch_array()函式從數組

結果集中獲取信息 321

18.2.5使用mysql_fetch_object()函式從結果

集中獲取一行作為對象 323

18.2.6使用mysql_fetch_row()函式逐行獲取

結果集中的每條記錄 324

18.2.7使用mysql_num_rows()函式獲取查詢

結果集中的記錄數 326

18.3PHP操作MySQL資料庫 327

18.3.1使用insert語句動態添加公告信息 327

18.3.2使用select語句查詢公告信息 330

18.3.3使用update語句動態編輯公告信息 332

18.3.4使用delete語句動態刪除公告信息 334

18.3.5分頁顯示公告信息 335

18.3.6將資料庫連線、操作、分頁和字元串

截取的方法封裝到類中 337

18.4小結 341

18.5練習與實踐 342

第19章PDO資料庫抽象層 343

視頻講解:50分鐘

19.1什麼是PDO 344

19.1.1PDO概述 344

19.1.2PDO特點 344

19.1.3安裝PDO 344

19.2PDO連線資料庫 345

19.2.1PDO構造函式 345

19.2.2DSN詳解 346

19.3PDO中執行SQL語句 346

19.3.1exec()方法 346

19.3.2query()方法 346

19.3.3預處理語句——prepare()和execute()

方法 347

19.4PDO中獲取結果集 347

19.4.1fetch()方法 347

19.4.2fetchAll()方法 349

19.4.3fetchColumn()方法 350

19.5PDO中捕獲SQL語句中的錯誤 351

19.5.1使用默認模式——PDO::ERRMODE_

SILENT 351

19.5.2使用警告模式——PDO::ERRMODE_

WARNING 352

19.5.3使用異常模式——PDO::ERRMODE_

EXCEPTION 353

19.6PDO中錯誤處理 355

19.6.1errorCode()方法 355

19.6.2errorInfo()方法 356

19.7PDO中事務處理 357

19.8PDO中存儲過程 359

19.9小結 360

19.10練習與實踐 360

第20章ThinkPHP框架 361

視頻講解:2小時31分鐘

20.1ThinkPHP簡介 362

20.1.1ThinkPHP框架的特點 362

20.1.2環境要求 362

20.1.3下載ThinkPHP框架 363

20.2ThinkPHP架構 364

20.2.1ThinkPHP的目錄結構 364

20.2.2自動生成項目目錄 365

20.2.3項目目錄部署方案 366

20.2.4命名規範 367

20.2.5項目構建流程 368

20.3ThinkPHP的配置 370

20.3.1配置格式 370

20.3.2調試配置 371

20.4ThinkPHP的控制器 371

20.4.1控制器 371

20.4.2跨模組調用 373

20.5ThinkPHP的模型 377

20.5.1模型的命名 377

20.5.2實例化模型 378

20.5.3屬性訪問 381

20.5.4連線資料庫 382

20.5.5創建數據 385

20.5.6連貫操作 386

20.5.7CURD操作 387

20.6ThinkPHP的視圖 393

20.6.1模板定義 394

20.6.2模板賦值 394

20.6.3指定模板檔案 395

20.6.4特殊字元串替換 395

20.7內置ThinkTemplate模板引擎 399

20.8小結 404

20.9練習與實踐 405

第3篇高級套用

第21章Smarty模板技術 409

視頻講解:57分鐘

21.1Smarty簡介 410

21.1.1什麼是Smarty 410

21.1.2Smarty與MVC 410

21.1.3Smarty特點 410

21.2Smarty的安裝配置 411

21.2.1Smarty下載和安裝 411

21.2.2第一個Smarty程式 411

21.2.3Smarty配置 413

21.3Smarty模板設計 414

21.3.1Smarty模板檔案 414

21.3.2注釋 415

21.3.3變數 415

21.3.4修飾變數 417

21.3.5流程控制 419

21.4Smarty程式設計 422

21.4.1Smarty中的常用方法 422

21.4.2Smarty的配置變數 424

21.5Smarty模板的套用 424

21.5.1將Smarty的配置方法封裝到類中 424

21.5.2Smarty+ADODB整合套用 426

21.6小結 428

21.7練習與實踐 428

第22章PHP與XML技術 429

視頻講解:23分鐘

22.1XML的概述 430

22.2XML語法 430

22.2.1XML文檔結構 430

22.2.2XML聲明 431

22.2.3處理指令 431

22.2.4注釋 431

22.2.5XML元素 432

22.2.6XML屬性 432

22.2.7使用CDATA標記 432

22.2.8XML命名空間 433

22.3在PHP中創建XML文檔 434

22.4SimpleXML 434

22.4.1創建SimpleXML對象 435

22.4.2遍歷所有子元素 436

22.4.3遍歷所有屬性 436

22.4.4訪問特定節點元素和屬性 437

22.4.5修改XML數據 438

22.4.6保存XML文檔 439

22.5動態創建XML文檔 440

22.6小結 441

22.7練習與實踐 441

第23章PHP與Ajax技術 443

視頻講解:43分鐘

23.1Ajax概述 444

23.1.1什麼是Ajax 444

23.1.2Ajax的開發模式 444

23.1.3Ajax的優點 445

23.2Ajax使用的技術 445

23.2.1JavaScript腳本語言 445

23.2.2XMLHttpRequest 445

23.2.3XML語言 448

23.2.4DOM 448

23.2.5CSS 448

23.3Ajax開發需要注意的幾個問題 449

23.4在PHP中套用Ajax技術的典型

套用 450

23.4.1在PHP中套用Ajax技術檢測用戶名 450

23.4.2在PHP中套用Ajax技術實現部落格文章

類別添加 452

23.5小結 456

23.6練習與實踐 456

第4篇項目實戰

第24章套用Smarty模板開發電子商務

網站 459

視頻講解:2小時19分鐘

24.1開發背景 460

24.2需求分析 460

24.3系統分析 460

24.3.1系統目標 460

24.3.2系統功能結構 461

24.3.3開發環境 462

24.3.4資料夾組織結構 462

24.4資料庫與數據表的設計 462

24.4.1資料庫分析 463

24.4.2創建資料庫和數據表 464

24.5公共檔案設計 466

24.5.1資料庫連線、管理和分頁類檔案 466

24.5.2Smarty模板配置類檔案 469

24.5.3執行類的實例化檔案 469

24.6前台首頁設計 470

24.6.1前台首頁技術分析 471

24.6.2前台首頁實現過程 471

24.7登錄模組設計 473

24.7.1登錄模組概述 473

24.7.2登錄模組技術分析 473

24.7.3用戶註冊 475

24.7.4用戶登錄 477

24.7.5找回密碼 479

24.8會員信息模組設計 484

24.8.1會員信息模組概述 484

24.8.2會員信息模組技術分析 484

24.8.3會員中心 485

24.8.4安全退出 489

24.9商品展示模組 489

24.9.1商品展示模組概述 489

24.9.2商品展示模組技術分析 490

24.9.3商品展示模組的實現過程 491

24.10購物車模組設計 494

24.10.1購物車模組概述 494

24.10.2購物車模組技術分析 494

24.10.3購物車展示 496

24.10.4更改商品數量 498

24.10.5刪除商品 499

24.10.6保存購物車 501

24.11收銀台模組設計 503

24.11.1收銀台模組概述 503

24.11.2收銀台模組技術分析 503

24.11.3顯示訂單 504

24.11.4填寫訂單 504

24.11.5處理訂單 505

24.12後台首頁設計 506

24.12.1後台首頁概述 506

24.12.2後台首頁技術分析 507

24.12.3後台首頁實現過程 509

24.13開發常見問題與解決 510

24.13.1解決Ajax的亂碼問題 511

24.13.2使用JS腳本獲取、輸出標籤內容 511

24.13.3禁用頁面快取 511

24.13.4在新視窗中使用session 511

24.13.5判斷上傳檔案格式 512

24.13.6設定伺服器的時間 512

24.14小結 513

第25章套用ThinkPHP框架開發明日導

航網 515

視頻講解:41分鐘

25.1項目設計思路 516

25.1.1功能闡述 516

25.1.2功能結構 516

25.1.3系統預覽 516

25.2資料庫與數據表設計 518

25.2.1資料庫設計 518

25.2.2數據表設計 518

25.2.3連線資料庫 519

25.3ThinkPHP架設項目結構 520

25.3.1下載ThinkPHP框架 520

25.3.2自動生成項目目錄 520

25.4明日導航前台頁面設計 521

25.4.1頁面設計概述 521

25.4.2控制器的創建 522

25.4.3視圖中套用到的模板標籤 524

25.4.4在視圖中創建模板檔案 527

25.5明日導航後台管理設計 528

25.5.1後台管理概述 528

25.5.2通過系統配置檔案存儲後台登錄數據 528

25.5.3後台管理架構解析 529

25.5.4ThinkPHP框架中的分頁技術 530

25.5.5後台管理視圖中套用的模板標籤 531

25.5.6後台登錄 533

25.5.7後台管理主頁 534

25.5.8高級類別管理 536

25.5.9判斷訪問用戶的許可權 539

25.5.10操作提示頁面 539

25.6小結 540

PHP從入門到精通(第3版)

目錄

相關詞條

熱門詞條

聯絡我們