零基礎學PHP 全彩版

零基礎學PHP 全彩版

《零基礎學PHP》是針對零基礎編程學習者研發的PHP入門教程。從初學者角度出發,通過通俗易懂的語言、流行有趣的實例,詳細地介紹了使用PHP進行程式開發需要掌握的知識和技術。全書共分16章,包括開發環境的搭建、PHP語言基礎、流程控制語句、字元串操作與正則表達式、PHP數組、面向對象、PHP與Web互動、MySQL資料庫基礎以及51商城等。書中所有知識都結合具體實例進行講解,設計的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會PHP程式開發的精髓,快速提高開發技能。

主要內容

本書通過大量實例及一個完整項目案例,幫助讀者更好地鞏固所學知識,提升能力;隨書附贈的《小白實戰手冊》中給出了3個流行且實用的案例的詳細開發流程,力求讓學習者能學以致用,真正獲得開發經驗;附贈的光碟中給出視頻講解、實例及項目源碼、代碼查錯器、練一練和動手糾錯答案等,方便讀者學習;書中設定了***多個二維碼,掃描二維碼觀看視頻講解,解決學習疑難;不易理解的專業術語、代碼難點只需手機掃描文字下方的e學碼獲得更多擴展解釋,隨時掃除學習障礙。此外,登錄明日學院網站還可以獲得更多學習資源和技術支持。

圖書與《小白實戰手冊》+光碟+二維碼+e學碼+明日學院,實現立體化、全方位的教學模式,拉低編程門檻,讓零基礎者輕鬆跨入編程領域。

目錄

第1 篇基礎知識

第1 章初識PHP...............2

1.1 PHP概述.............................. 3

1.1.1 什麼是PHP ...................... 3

1.1.2 PHP語言的優勢.................. 3

1.1.3 PHP5的新特性................... 3

1.1.4 PHP的發展趨勢.................. 4

1.1.5 PHP的套用領域.................. 5

1.2 學習資源............................. 5

1.2.1 PHP用戶手冊.................... 5

1.2.2 常用網上資源................... 6

1.3 搭建PHP運行環境...................... 7

1.3.1 phpStudy的下載與安裝........... 7

1.3.2 PHP伺服器的啟動與停止.......... 9

1.3.3 phpStudy的常用設定............ 10

1.4 PhpStorm的下載與安裝................ 11

1.4.1 PhpStorm的下載................ 12

1.4.2 PhpStorm的安裝................ 13

1.5 PhpStorm基本操作.................... 16

1.5.1 創建PHP項目................... 16

1.5.2 打開已有項目.................. 19

1.5.3 在項目中創建資料夾和檔案...... 20

1.6 PhpStorm常用設定.................... 22

1.6.1 設定檔案編碼格式.............. 22

1.6.2 其他常用設定.................. 24

1.7 難點解答............................ 24

1.7.1 為什麼要設定檔案編碼格式為

UTF-8......................... 24

1.7.2 運行PHP程式前,先開啟phpStudy 24

1.8 小結................................ 24

第2 章PHP 語言基礎..........25

2.1 PHP標記風格......................... 26

2.2 PHP注釋的套用....................... 26

2.3 PHP的數據類型....................... 28

2.3.1 數據類型...................... 28

2.3.2 數據類型轉換.................. 30

2.3.3 檢測數據類型.................. 31

2.4 PHP常量............................. 32

2.4.1 定義常量...................... 33

2.4.2 預定義常量.................... 33

2.5 PHP變數............................. 34

2.5.1 變數賦值及使用................ 35

2.5.2 PHP預定義變數................. 36

2.6 PHP操作符........................... 37

2.6.1 算術操作符.................... 38

2.6.2 字元串操作符.................. 39

2.6.3 賦值操作符.................... 40

2.6.4 遞增或遞減操作符.............. 40

2.6.5 邏輯操作符.................... 41

2.6.6 比較操作符.................... 42

2.6.7 條件操作符(或三元操作符).... 42

2.6.8 操作符的優先權................ 43

2.7 PHP的表達式......................... 44

2.8 PHP函式............................. 45

2.8.1 定義和調用函式................ 45

2.8.2 在函式間傳遞參數.............. 46

2.8.3 從函式中返回值................ 48

2.8.4 變數作用域.................... 49

2.9 PHP編碼規範......................... 50

2.9.1 PSR-1基礎編碼規範............. 51

2.9.2 PSR-2編碼風格規範............. 52

2.10 難點解答........................... 53

2.10.1 類型轉換..................... 53

2.10.2 什麼函式需要使用默認參數..... 53

2.11 小結............................... 53

2.12 動手糾錯........................... 54

第3 章流程控制語句.........55

3.1 條件控制語句........................ 56

3.1.1 if語句........................ 56

3.1.2 if…else語句.................. 57

3.1.3 elseif語句.................... 58

3.1.4 switch語句.................... 60

3.2 循環控制語句........................ 62

3.2.1 for循環語句................... 62

3.2.2 while循環語句................. 63

3.2.3 do…while循環語句............. 65

3.3 跳轉語句............................ 66

3.3.1 break語句..................... 66

3.3.2 continue語句.................. 67

3.4 難點解答............................ 68

3.3.1 if…else執行順序.............. 68

3.3.2 while和do -while的區別........ 68

3.5 小結................................ 68

3.6 動手糾錯............................ 69

第4 章字元串操作與正則

表達式...............71

4.1 字元串的定義方法.................... 72

4.1.1 使用單引號或雙引號定義字元串... 72

4.1.2 使用定界符定義字元串.......... 73

4.2 字元串操作.......................... 73

4.2.1 去除字元串首尾空格和特殊字元... 74

4.2.2 獲取字元串的長度.............. 76

4.2.3 截取字元串.................... 78

4.2.4 檢索字元串.................... 81

4.2.5 替換字元串.................... 84

4.2.6 分割、合成字元串.............. 86

4.3 正則表達式.......................... 88

4.3.1 正則表達式簡介................ 88

4.3.2 行定位符...................... 88

4.3.3 元字元........................ 89

4.3.4 重複.......................... 89

4.3.5 字元類........................ 90

4.3.6 排除字元...................... 90

4.3.7 選擇字元...................... 90

4.3.8 轉義字元...................... 91

4.3.9 分組.......................... 91

4.4 正則表達式在PHP中的套用............. 91

4.5 難點解答............................ 93

4.5.1 慎用strlen函式處理中文字元.... 93

4.5.2 strstr()函式和strpos()函式的

區別.......................... 93

4.6 小結................................ 94

4.7 動手糾錯............................ 94

第5 章PHP 數組..............97

5.1 什麼是數組.......................... 98

5.2 創建數組............................ 98

5.2.1 使用array()函式創建數組....... 98

5.2.2 通過賦值方式創建數組......... 100

5.3 數組的類型......................... 100

5.3.1 數字索引數組................. 101

5.3.2 關聯數組..................... 101

5.4 多維數組........................... 102

5.5 遍歷數組........................... 104

5.6 統計數組元素個數................... 106

5.7 查詢數組中指定元素................. 107

5.8 獲取數組中最後一個元素............. 109

5.9 向數組中添加元素................... 110

5.10 刪除數組中重複元素................ 110

5.11 其他常用數組函式.................. 112

5.11.1 數組排序函式................ 112

5.11.2 數組計算函式................ 114

5.12 難點解答.......................... 115

5.12.1 數組的索引.................. 115

5.12.2 count()函式計算二維數組長度... 116

5.13 小結.............................. 116

5.14 動手糾錯.......................... 116

第2 篇核心技術

第6 章面向對象............120

6.1 面向對象的基本概念................. 121

6.1.1 類的概念..................... 121

6.1.2 對象的概念................... 121

6.1.3 面向對象編程的三大特點....... 122

6.2 PHP與對象.......................... 123

6.2.1 類的定義..................... 123

6.2.2 成員方法..................... 123

6.2.3 類的實例化................... 124

6.2.4 成員變數..................... 125

6.2.5 類常量....................... 126

6.2.6 構造方法和析構方法........... 127

6.2.7 繼承和多態................... 129

6.2.8 “$this ->”和“::”的使用.... 133

6.2.9 數據隱藏..................... 134

6.2.10 靜態變數(方法)............ 137

6.3 PHP對象的高級套用.................. 138

6.3.1 f inal關鍵字................. 138

6.3.2 抽象類....................... 139

6.3.3 接口的使用................... 140

6.3.4 對象類型檢測................. 142

6.3.5 魔術方法(__) ................. 142

6.4 面向對象的套用..................... 147

6.5 難點解答........................... 149

6.5.1 類和對象的關係............... 149

6.5.2 方法與函式的區別............. 150

6.5 小結............................... 150

6.6 動手糾錯........................... 150

第7 章PHP 與WEB 互動.......153

7.1 Web工作原理........................ 154

7.1.1 HTTP協定..................... 154

7.1.2 Web工作原理.................. 155

7.2 HTML表單........................... 156

7.2.1 HTML簡介..................... 156

7.2.2 HTML表單..................... 158

7.2.3 表單元素..................... 159

7.3 CSS美化表單頁面.................... 162

7.3.1 CSS簡介...................... 162

7.3.2 插入CSS樣式表................ 162

7.3.3 使用CSS美化表單頁面.......... 165

7.4 JavaScript表單驗證................. 168

7.4.1 JavaScript簡介............... 168

7.4.2 調用JavaScript ............... 169

7.4.3 JavaScript表單驗證........... 171

7.5 PHP獲取表單數據.................... 174

7.5.1 獲取POST方式提交的表單數據... 174

7.5.2 獲取GET方式提交的表單數據.... 176

7.6 難點解答........................... 179

7.6.1 Web工作原理.................. 179

7.6.2 JavaScript和Java關係......... 179

7.6.3 JavaScript和jQuery的關係..... 179

7.7 小結............................... 179

7.8 動手糾錯........................... 180

第8 章MySQL 資料庫基礎.....183

8.1 MySQL概述.......................... 184

8.2 啟動和關閉MySQL伺服器.............. 184

8.2.1 啟動MySQL伺服器.............. 184

8.2.2 連線和斷開MySQL伺服器........ 185

8.3 操作MySQL資料庫.................... 189

8.3.1 創建資料庫................... 189

8.3.2 選擇資料庫................... 190

8.3.3 查看資料庫................... 190

8.3.4 刪除資料庫................... 191

8.4 MySQL數據類型...................... 191

8.4.1 數字類型..................... 191

8.4.2 字元串類型................... 192

8.4.3 日期和時間類型............... 194

8.5 運算元據表......................... 194

8.5.1 創建數據表................... 194

8.5.2 查看錶結構................... 196

8.5.3 修改表結構................... 197

8.5.4 重命名數據表................. 198

8.5.5 刪除數據表................... 199

8.6 數據表記錄的操作................... 199

8.6.1 數據表記錄的添加............. 199

8.6.2 數據表記錄的查詢............. 200

8.6.3 數據表記錄的修改............. 201

8.6.4 數據表記錄的刪除............. 201

8.7 數據表記錄的查詢操作............... 202

8.8 MySQL中的特殊字元.................. 206

8.9 MySQL圖形化管理工具............ 206

8.9.1 phpMyAdmin簡介............... 207

8.9.2 Navicat for MySQL簡介........ 208

8.9.3 MySQL-Front簡介.............. 209

8.10 難點解答.......................... 210

8.10.1 drop、delete和truncate的區別210

8.10.2 主鍵、外鍵和索引的區別...... 211

8.11 小結.............................. 211

第9 章PHP 操作MySQL 資料庫.213

9.1 PHP操作MySQL資料庫的方法........... 214

9.1.1 連線MySQL伺服器.............. 214

9.1.2 選擇MySQL資料庫.............. 215

9.1.3 執行SQL語句.................. 216

9.1.4 將結果集返回到數組........... 217

9.1.5 從結果集中獲取一行作為對象... 221

9.1.6 從結果集中獲取一行作為枚舉數組223

9.1.7 從結果集中獲取一行作為關聯數組224

9.1.8 獲取查詢結果集中的記錄數..... 225

9.1.9 釋放記憶體..................... 226

9.1.10 關閉連線.................... 226

9.2 管理MySQL資料庫中的數據............ 227

9.2.1 添加數據..................... 227

9.2.2 編輯數據..................... 233

9.2.3 刪除數據..................... 237

9.3 難點解答........................... 240

9.3.1 mysqli_fetch_array、mysqli_fetch_

assoc、mysqli_fetch_row和mysqli_

fetch_object函式區別......... 240

9.3.2 mysqli_prepare() 和mysqli_stmt_

prepare()的區別.............. 240

9.4 小結............................... 241

9.5 動手糾錯........................... 241

第10 章PDO 資料庫抽象層....243

10.1 什麼是PDO......................... 244

10.1.1 PDO概述..................... 244

10.1.2 PDO特點..................... 244

10.1.3 安裝PDO ..................... 244

10.2 PDO連線資料庫..................... 245

10.2.1 PDO構造函式................. 245

10.2.2 DSN詳解..................... 245

10.3 PDO中執行SQL語句.................. 246

10.4 PDO中獲取結果集................... 247

10.4.1 fetch()方法................. 247

10.4.2 fetchAll()方法.............. 251

10.4.3 fetchColumn()方法........... 252

10.5 PDO中捕獲SQL語句中的錯誤.......... 254

10.5.1 默認模式.................... 254

10.5.2 警告模式.................... 256

10.5.3 異常模式.................... 256

10.6 PDO中的錯誤處理................... 257

10.6.1 errorCode()方法............. 257

10.6.2 errorInfo()方法............. 258

10.7 PDO中的事務處理................... 258

10.8 難點解答.......................... 261

10.8.1 為什麼PDO能夠防止SQL注入.... 261

10.8.2 PDO類和PDOStatement的關係... 261

10.9 小結.............................. 261

10.10 動手糾錯......................... 261

第3 篇高級套用............ 263

第11 章Cookie 與Session...264

11.1 Cookie管理........................ 265

11.1.1 了解Cookie .................. 265

11.1.2 創建Cookie .................. 266

11.1.5 Cookie的生命周期............ 269

11.1.6 7天免登錄功能的實現......... 269

11.2 Session管理....................... 275

11.2.1 了解Session ................. 275

11.2.2 創建會話.................... 275

11.2.3 使用Session實現判斷用戶登錄

功能........................ 277

11.3 Session高級套用................... 279

11.3.2 Session快取................. 280

11.3.3 Session資料庫存儲........... 281

11.4 難點解答.......................... 286

11.4.1 Cookie和Session的區別....... 286

11.4.2 Cookie和Session的關係....... 286

11.5 小結.............................. 287

11.6 動手糾錯.......................... 287

第12 章圖形圖像處理技術...289

12.1 在PHP中載入GD庫................... 290

12.2 GD庫的套用........................ 290

12.2.1 創建一個簡單的圖像.......... 290

12.2.2 使用GD2函式在照片上添加文字291

12.2.3 使用圖像處理技術生成驗證碼293

12.3 JpGraph圖像繪製庫................. 297

12.3.1 JpGraph的下載............... 298

12.3.2 JpGraph的中文配置........... 298

12.3.3 JpGraph的使用............... 299

12.4 JpGraph典型套用................... 300

12.4.1 使用柱形圖統計圖書月銷售量.. 300

12.4.2 使用折線圖統計三本圖書銷售量302

12.4.3 使用3D餅形圖統計各類商品的

年銷售額比率................ 303

12.5 難點解答.......................... 305

12.5.1 JpGraph中文亂碼............. 305

12.5.2 如何使用JpGraph的其他圖形... 305

12.6 小結.............................. 305

12.7 動手糾錯.......................... 305

第13 章檔案系統...........307

13.1 檔案處理.......................... 308

13.1.1 打開/關閉檔案............... 308

13.1.2 從檔案中讀取數據............ 309

13.1.3 將數據寫入檔案.............. 315

13.1.4 操作檔案.................... 317

13.2 目錄處理.......................... 318

13.2.1 打開/關閉目錄............... 318

13.2.2 瀏覽目錄.................... 319

13.2.3 操作目錄.................... 319

13.3 檔案上傳.......................... 320

13.3.1 配置php.ini檔案............. 320

13.3.2 預定義變數$_FILES ........... 321

13.3.3 檔案上傳函式................ 323

13.3.4 多檔案上傳.................. 328

13.4 檔案下載.......................... 330

13.5 難點解答.......................... 333

13.5.1 f ile()函式和f ile_get_contents()

函式的區別.................. 333

13.5.2 設定表單屬性enctype ......... 333

13.6 小結.............................. 333

13.7 動手糾錯.......................... 334

第14 章PHP 與Ajax 技術.....335

14.1 Ajax概述.......................... 336

14.1.1 什麼是Ajax .................. 336

14.1.2 Ajax的開發模式.............. 336

14.1.3 Ajax的優點.................. 337

14.2 Ajax使用的技術.................... 337

14.2.1 Ajax與JavaScript ............ 337

14.2.2 XMLHttpRequest對象.......... 337

14.3 Ajax技術的典型套用................ 340

14.3.1 套用Ajax技術檢測用戶名...... 340

14.3.2 使用jQuery的Ajax操作函式.... 345

14.4 難點解答.......................... 347

14.4.1 瀏覽器兼容性問題............ 347

14.4.2 使用jQuery的Ajax方法........ 348

14.5 小結.............................. 348

14.6 動手糾錯.......................... 348

第15 章ThinkPHP 框架.......351

15.1 ThinkPHP簡介...................... 352

15.1.1 ThinkPHP框架的特點.......... 352

15.1.2 環境要求.................... 353

15.1.3 下載ThinkPHP框架............ 353

15.2 ThinkPHP基礎...................... 353

15.2.1 目錄結構.................... 353

15.2.2 自動生成目錄................ 354

15.2.3 快速生成新模組.............. 356

15.2.4 模組化設計.................. 357

15.2.5 執行流程.................... 358

15.2.6 命名規範.................... 358

15.3 ThinkPHP的配置.................... 359

15.3.1 配置格式.................... 359

15.3.2 調試配置.................... 360

15.4 ThinkPHP的控制器.................. 361

15.4.1 控制器...................... 361

15.4.2 輸入變數.................... 363

15.4.3 請求類型.................... 364

15.4.4 URL生成..................... 364

15.4.5 跳轉和重定向................ 365

15.4.6 Ajax返回.................... 367

15.5 ThinkPHP的模型.................... 368

15.5.1 模型定義.................... 368

15.5.2 實例化模型.................. 369

15.5.3 連線資料庫.................. 370

15.5.4 連貫操作.................... 371

15.5.5 CURD操作.................... 372

15.6 ThinkPHP的視圖.................... 377

15.6.1 模板定義.................... 377

15.6.2 模板賦值.................... 378

15.6.3 指定模板檔案................ 378

15.7 內置ThinkTemplate模板引擎......... 382

15.7.1 變數輸出.................... 382

15.7.2 使用函式.................... 383

15.7.3 內置標籤.................... 384

15.7.4 模板繼承.................... 384

15.8 難點解答.......................... 385

15.8.1 什麼是單一入口? ............. 385

15.8.2 為什麼要使用MVC設計模式? .... 385

15.9 小結.............................. 385

第4 篇項目實戰

第16 章51 購商城...........388

16.1 系統功能設計...................... 389

16.1.1 系統功能結構................ 389

16.1.2 系統業務流程................ 390

16.2 系統開發必備...................... 390

16.2.1 系統開發環境................ 390

16.2.2 資料夾組織結構.............. 391

16.3 資料庫設計........................ 391

16.3.1 資料庫概要說明.............. 391

16.3.2 資料庫邏輯設計.............. 392

16.4 前台用戶模組設計.................. 395

16.4.1 會員註冊模組................ 395

16.4.2 會員登錄模組................ 398

16.5 前台首頁模組設計.................. 399

16.5.1 商品分類模組................ 401

16.5.2 商品列表模組................ 405

16.6 購物車模組設計.................... 406

16.6.1 添加商品至購物車............ 406

16.6.2 查看購物車商品.............. 408

16.6.3 清空購物車.................. 410

16.6.4 添加收貨地址................ 411

16.6.5 提交訂單.................... 413

16.7 後台模組設計...................... 415

16.7.1 管理員登錄模組.............. 415

16.7.2 後台首頁.................... 416

16.7.3 商品模組.................... 416

16.7.4 訂單模組.................... 417

16.7.5 其他模組.................... 418

16.8 小結.............................. 420

相關搜尋

熱門詞條

聯絡我們