從零開始學PHP(第3版)

從零開始學PHP(第3版)

《從零開始學PHP(第3版)》 一書由何俊斌、王彩編著,電子工業出版社2017年1月出版

內容提要

《從零開始學PHP(第3版)》是關於PHP 的入門教程。PHP 作為一種被廣泛套用的Web 語言,由於其自身的優秀特性,已經有越來越多的網站採用PHP 技術開發,尤其Web 2.0 網站對它格外垂青。《從零開始學PHP(第3版)》共4 篇,包括22 章的內容。第一篇主要講解了PHP 程式語言,包括PHP 環境的搭建、基礎知識、常用流程控制、常用函式、數組的操作。第二篇主要分析了PHP 的一些參考函式,講解了瀏覽器和輸入/輸出、檔案目錄類、數據處理類、圖形圖表類、電子郵件類和資料庫類。第三篇詳細介紹了PHP 高級開發的內容,主要包括XML、正則表達式、AJAX、類與對象、Pear 擴展和一些流行的PHP 框架。第四篇為PHP 實例精講,首先介紹了一個簡單好用的PHP 框架,然後介紹了如何在這個框架的基礎上搭建CMS 內容管理系統。

《從零開始學PHP(第3版)》的特點是概念清楚,通過穿插類比的方式或加入相關插圖進行輔助講解,使讀者能夠更加直觀地理解和掌握PHP 的各個知識點。《從零開始學PHP(第3版)》適合學習PHP 技術的初學者,也可作為大、中專院校或相關培訓班的教材。

目錄

第一篇 PHP 程式語言

第1 章 PHP 漫談( 教學視頻:19 分鐘) 1

1.1 認識PHP1

1.2 HTML 基礎 2

1.2.1 HTML 文檔基本格式 2

1.2.2 用標籤顯示Hello World3

1.2.3 創建網頁上的列表 4

1.2.4 創建圖像和連結 5

1.2.5 創建表格 7

1.2.6 創建表單 9

1.3 JavaScript 基礎 11

1.3.1 JavaScript 的基本格式 12

1.3.2 控制IE 的頁面大小 12

1.3.3 獲取頁面文檔內容 13

1.3.4 客戶端數據存儲機制Cookie14

1.3.5 客戶端事件驅動 16

1.3.6 實現客戶端驗證 19

1.4 典型實例 20

1.5 小結 22

1.6 習題 23

第2 章 PHP 編程硬體和軟體需求( 教學視頻:25 分鐘) 24

2.1 環境搭建 24

2.1.1 Linux 系統安裝Apache、MySQL 和PHP24

2.1.2 Windows 系統安裝Apache、MySQL 和PHP27

2.1.3 安裝Zend Studio30

2.2 Apache 和PHP 配置 31

2.2.1 Apache 伺服器基本配置 31

2.2.2 PHP 的基本配置 32

2.2.3 PHP 檔案上傳配置 33

2.2.4 PHP 的Session 配置 33

2.2.5 PHP 的電子郵件配置 33

2.2.6 PHP 的安全設定 34

2.2.7 PHP 調試設定 34

2.3 第一個PHP 程式Hello World35

2.4 典型實例 38

2.5 小結 39

2.6 習題 40

第3 章 類型( 教學視頻:19 分鐘) 41

3.1 類型的世界 41

3.2 一切皆數據 41

3.3 無類型(NULL) 41

3.4 布爾型(Boolean) 43

3.5 數值 44

3.5.1 整型(integer) 44

3.5.2 浮點型(float) 44

3.5.3 理解整型和浮點型 45

3.5.4 理解數值範圍 45

3.6 字元串(string) 47

3.7 資源(resource) 48

3.8 典型實例 48

3.9 小結 49

3.10 習題 49

第4 章 變數和常量( 教學視頻:25 分鐘) 51

4.1 從類型到變數 51

4.2 變數的命名 53

4.3 可變變數 53

4.4 預定義變數 54

4.5 外部變數 55

4.6 引用 56

4.7 變數的銷毀 58

4.8 常量 58

4.8.1 常量的定義 59

4.8.2 魔術常量 60

4.9 典型實例 60

4.10 小結 64

4.11 習題 64

第5 章 運算符、表達式和語句( 教學視頻:12 分鐘) 66

5.1 算數運算符 66

5.1.1 加減乘除 66

5.1.2 求模 66

5.1.3 取反 67

5.2 賦值運算符 67

5.3 自運算符 67

5.4 遞增/遞減運算符 68

5.5 字元串運算符 69

5.6 比較運算符 70

5.7 邏輯運算符 70

5.8 位運算符 71

5.9 執行運算符 72

5.10 錯誤控制運算符 72

5.11 表達式和語句 72

5.11.1 表達式 72

5.11.2 語句 73

5.12 注釋 73

5.13 典型實例 74

5.14 小結 77

5.15 習題 77

第6 章 順序流程( 教學視頻:25 分鐘) 79

6.1 有序的世界 79

6.2 條件分支 79

6.2.1 if 語句 79

6.2.2 ifelse 語句 80

6.2.3 ?: 語句 81

6.2.4 elseif 語句 82

6.2.5 switch 語句 84

6.3 循環 85

6.3.1 while 語句 85

6.3.2 do…while 語句 87

6.3.3 for 語句 88

6.3.4 foreach 語句 89

6.4 關鍵字 90

6.4.1 break 語句 90

6.4.2 continue 語句 91

6.4.3 return 語句 92

6.5 異常處理 93

6.6 declare 語句 93

6.7 流程控制強化訓練 94

6.8 典型實例 96

6.9 小結 98

6.10 習題 99

第7 章 函式( 教學視頻:29 分鐘) 100

7.1 使用函式 100

7.2 系統(內置)函式 101

7.3 自定義函式 101

7.4 函式參數 103

7.5 返回值 105

7.6 動態調用函式 105

7.7 作用域 106

7.7.1 局部作用域 106

7.7.2 全局作用域 108

7.8 生存期 109

7.9 典型實例 111

7.10 小結 113

7.11 習題 113

第8 章 PHP 數組類( 教學視頻:38 分鐘) 115

8.1 什麼是數組 115

8.1.1 什麼是PHP 的數組 115

8.1.2 創建PHP 的數組 115

8.2 增加刪除數組元素 117

8.2.1 使用$arrayname[ ]增加數組元素 118

8.2.2 使用unset()刪除數組中的元素 118

8.2.3 使用array_push()壓入數組元素 119

8.2.4 使用array_pop()彈出數組元素 119

8.3 遍歷輸出數組 120

8.3.1 使用print_r()列印數組 120

8.3.2 使用for 循環語句輸出數組 121

8.3.3 使用foreach 循環語句輸出數組 122

8.4 數組排序 123

8.4.1 使用sort 對數組進行排序 123

8.4.2 使用rsort 對數組進行逆向排序 124

8.4.3 數組的隨機排序 125

8.4.4 數組的反向排序 126

8.5 合併與拆分數組 127

8.5.1 合併數組 127

8.5.2 拆分數組 128

8.6 典型實例 129

8.7 小結 131

8.8 習題 132

第二篇 PHP 參考函式

第9 章 瀏覽器和輸入輸出( 教學視頻:47 分鐘) 134

9.1 檢測來訪者的瀏覽器版本和語言 134

9.2 處理表單提交的數據 136

9.3 上傳檔案處理 137

9.4 會話處理函式Session140

9.4.1 開始會話 140

9.4.2 存儲與讀取會話 141

9.4.3 銷毀會話 142

9.5 Cookie 處理函式 143

9.5.1 創建cookie143

9.5.2 獲取cookie143

9.5.3 cookie 的有效期 144

9.5.4 cookie 的有效路徑 145

9.5.5 刪除cookie145

9.6 使用HTTP Header145

9.7 典型實例 146

9.8 小結 153

9.9 習題 153

第10 章 檔案目錄類( 教學視頻:45 分鐘) 155

10.1 創建目錄和檔案 155

10.2 列出目錄和檔案 156

10.3 獲得磁碟空間 157

10.4 改變目錄和檔案的屬性 158

10.5 寫入數據到檔案 159

10.5.1 使用fwrite()函式將數據寫入檔案 159

10.5.2 使用file_put_contents()函式將數據寫入檔案 160

10.6 從檔案讀取數據 160

10.6.1 使用fread()函式讀取檔案數據 161

10.6.2 使用file_get_contents()函式讀取檔案數據 162

10.7 修改檔案內容 162

10.8 刪除目錄和檔案 163

10.9 一個文本計數器實例 164

10.10 典型實例 165

10.11 小結 170

10.12 習題 171

第11 章 數據處理類( 教學視頻:60 分鐘) 173

11.1 字元串 173

11.1.1 計算字元串的長度 173

11.1.2 截取指定長度字元串 174

11.1.3 搜尋指定的字元串 175

11.1.4 替換指定的字元串 175

11.1.5 轉換字元串為數組175

11.1.6 轉換數組為字元串175

11.1.7 設定字元編碼176

11.2 使用PHPExcel 操作Microsoft Excel 檔案176

11.2.1 創建Excel 檔案176

11.2.2 修改並導出Excel 檔案179

11.3 加密和解密181

11.4 時間和日期183

11.4.1 使用date()函式183

11.4.2 使用mktime()函式185

11.4.3 驗證日期有效性185

11.5 典型實例186

11.6 小結191

11.7 習題191

第12 章 圖形圖表類( 教學視頻:39 分鐘)193

12.1 使用GD 創建圖像193

12.2 創建縮略圖195

12.3 給圖片加水印197

12.4 給圖片加文字198

12.5 典型實例199

12.6 小結202

12.7 習題202

第13 章 電子郵件類( 教學視頻:29 分鐘)203

13.1 用mail 函式傳送郵件203

13.2 使用SMTP 傳送郵件204

13.3 典型實例206

13.4 小結208

13.5 習題209

第14 章 資料庫類( 教學視頻:43 分鐘)210

14.1 MySQL 資料庫210

14.1.1 連線到MySQL210

14.1.2 創建資料庫和表211

14.1.3 向表插入數據213

14.1.4 更新表中數據215

14.1.5 查詢數據表216

14.2 MSSQL 資料庫使用實例217

14.3 典型實例218

14.4 小結221

14.5 習題222

第三篇 PHP 高級開發

第15 章 PHP 與XML( 教學視頻:22 分鐘)223

15.1 XML 快速入門223

15.1.1 什麼是XML223

15.1.2 XML、HTML 和SGML之間的關係和區別223

15.1.3 建立一個簡單的XML 檔案223

15.2 深入XML 文檔224

15.2.1 XML 聲明224

15.2.2 元素的概念225

15.2.3 標記和屬性225

15.2.4 Well-formed XML(結構良好的XML)226

15.2.5 Valid XML(有效的XML)226

15.2.6 DTD(檔案類型定義)226

15.3 用SimpleXML 處理XML 文檔226

15.3.1 建立一個SimpleXML 對象226

15.3.2 XML 數據的讀取227

15.3.3 XML 數據的修改229

15.3.4 XML 數據的保存229

15.3.5 實例:從XML 檔案中讀取新聞列表230

15.4 使用DOM 庫處理XML 文檔232

15.4.1 創建一個DOM 對象並裝載XML 文檔232

15.4.2 獲得特定元素的數組233

15.4.3 取得節點內容233

15.4.4 取得節點屬性234

15.5 典型實例234

15.6 小結240

15.7 習題 240

第16 章 PHP 與正則表達式( 教學視頻:35 分鐘) 242

16.1 了解正則表達式 242

16.1.1 什麼是正則表達式 242

16.1.2 入門:一個簡單的正則表達式 242

16.2 正則表達式的語法 243

16.2.1 普通字元 243

16.2.2 特殊字元 243

16.2.3 非列印字元 244

16.2.4 限定符及貪婪模式和非貪婪模式 244

16.2.5 定位符 245

16.2.6 選擇與編組 246

16.2.7 後向引用 246

16.2.8 各操作符的優先權 247

16.2.9 修飾符 247

16.3 PHP 中相關正則表達式的函式 247

16.3.1 用正則表達式檢查字元串是否為規定格式 248

16.3.2 將字元串中特定的部分替換掉 249

16.3.3 取得字元串中符合規定的部分 250

16.4 典型實例 251

16.5 小結 255

16.6 習題 255

第17 章 PHP 與AJAX( 教學視頻:34 分鐘) 257

17.1 什麼是AJAX257

17.2 AJAX 的實現原理和工作流程 257

17.3 AJAX 套用 258

17.3.1 如何建立遠程連線對象 258

17.3.2 異步傳送請求 259

17.3.3 回調函式的套用 261

17.3.4 一個基於AJAX 的用戶名驗證程式 262

17.4 Spry 框架 264

17.4.1 Spry 框架簡介 265

17.4.2 Spry 框架的使用方法 265

17.4.3 Spry 框架與Macromedia Dreamweaver 的結合 268

17.4.4 使用Spry 製作級聯下拉選單 272

17.5 典型實例 274

17.6 小結 280

17.7 習題 280

第18 章 PHP 類與對象( 教學視頻:26 分鐘) 281

18.1 類與對象的初探 281

18.2 第一個類 281

18.3 屬性 282

18.4 方法 283

18.5 構造函式 284

18.6 關鍵字:在此我們是否可以有一點隱私 285

18.7 在類上下文操作 287

18.8 繼承 289

18.9 典型實例 292

18.10 小結 295

18.11 習題 295

第19 章 使用PHP 擴展與套用庫(PEAR)加速開發( 教學視頻:34 分鐘) 297

19.1 PEAR 介紹與安裝 297

19.2 用PEAR 快速創建表單 299

19.3 用PEAR 輕鬆實現身份驗證 302

19.4 用PEAR 實現資料庫接口統一 304

19.5 用PEAR 簡化數據驗證 306

19.6 用PEAR 快取提升程式性能 309

19.7 典型實例 311

19.8 小結 313

19.9 習題 313

第20 章 PHP 框架簡介( 教學視頻:24 分鐘) 314

20.1 PHP 框架的現狀和發展 314

20.2 常見PHP 框架 315

20.2.1 Zend Framework 框架 315

20.2.2 CakePHP 框架 315

20.2.3 Symfony Project 框架 316

20.2.4 ThinkPHP 框架 316

20.2.5 QeePHP 框架 317

20.2.6 CodeIgniter 框架 317

20.3 CodeIgniter 框架套用 318

20.3.1 CodeIgniter 下載安裝 318

20.3.2 CodeIgniter 的控制器機制 319

20.3.3 CodeIgniter 的模型機制 321

20.3.4 CodeIgniter 的視圖機制 322

20.4 典型實例 325

20.5 小結 329

20.6 習題 329

第四篇 PHP 實例精講

第21 章 一個簡單好用的MVC 框架( 教學視頻:49 分鐘) 330

21.1 什麼是MVC 模型 330

21.2 MVC 模型的組成 330

21.2.1 數據模型 330

21.2.2 視圖 331

21.2.3 控制器 331

21.3 實現簡單的MVC331

21.3.1 數據模型層的實現 331

21.3.2 視圖層的實現 335

21.3.3 控制器的實現 335

21.4 MVC 套用示例 336

21.5 小結 339

21.6 習題 340

第22 章 製作一個內容管理系統(CMS)( 教學視頻:30 分鐘) 341

22.1 什麼是CMS341

22.2 CMS 的作用 341

22.3 需求分析 342

22.4 相關策劃 342

22.4.1 後台策劃 342

22.4.2 前台策劃 344

22.5 系統架構 344

22.5.1 環境選擇 345

22.5.2 選擇框架 345

22.5.3 數據結構設計 345

22.5.4 目錄結構 346

22.6 後台開發 346

22.6.1 後台檔案結構 347

22.6.2 欄目功能開發 348

22.6.3 文章功能開發 351

22.7 前台實現 353

22.8 小結 355

22.9 習題 355

熱門詞條

聯絡我們