細說PHP(精要版)

細說PHP(精要版)

《細說PHP(精要版)》是2013年6月電子工業出版社出版的圖書,作者是LAMP兄弟連組、高洛峰,全書以實用為目標設計,包含PHP開發中必備的各項技術,對已列出的每一個知識點都進行了深入詳細的講解,並附有大量的經典實例代碼,圖文並茂,並且側重介紹了PHP的相關技術在實際Web開發中的套用。

基本介紹

  • 書名:細說PHP(精要版
  • 作者:LAMP兄弟連組 高洛峰
  • ISBN:978-7-121-20147-9
  • 頁數:388
  • 定價:49.80
  • 出版社:電子工業出版社
  • 出版時間:2013年6月出版
  • 裝幀:平裝
  • 開本:16開
編輯推薦,內容提要,書本目錄,作者簡介,前言,特別說明,

編輯推薦

150小時教學視頻,超強資源配套學習+跟蹤服務,幫助讀者全面掌握PHP
細說PHP(精要版)

內容提要

PHP是開發Web套用系統最理想的工具,擁有易於使用、功能強大、成本低廉、安全性高、開發速度快且執行靈活等優點。《細說PHP(第2版)》自出版以來,銷售一路在同類書籍中領先,已成為PHP學習者首選的工具書。為了可以讓讀者攜帶方便及更精準地掌握PHP的重點、要點,同時能使之作為大學計算機系PHP教材普及,特別推出《細說PHP精要版》。本書是以《細說PHP(第2版)》為基礎,提取出精華內容,都是PHP開發中必須需要掌握的技術點。
對於PHP套用開發的新手而言,本書不失為一本好的入門教材,內容既實用又全面,所有實例都可以在開發中直接套用,並輔以大量的視頻教程、配套的教學課件、章節練習題等,使讀者輕鬆掌握所學知識,特別適合大中專院校的師生作為PHP授課教材使用。

書本目錄

第1章 LAMP網站構建 1
1.1 介紹網站給你認識 1
1.1.1 Web套用的優勢 2
1.1.2 Web 2.0時代的網際網路 3
1.1.3 Web開發標準 4
1.1.4 認識腳本語言 5
1.1.5 了解HTTP協定 5
1.2 動態網站開發所需的Web構件 10
1.2.1 客戶端瀏覽器 10
1.2.2 超文本標記語言HTML 12
1.2.3 層疊樣式表CSS13
1.2.4 客戶端腳本程式語言JavaScript 13
1.2.5 Web伺服器 14
1.2.6 伺服器端程式語言 16
1.2.7 資料庫管理系統 16
1.3 幾種主流的Web應用程式平台 17
1.3.1 Web應用程式開發平台對比分析 18
1.3.2 動態網站開發平台技術比較 19
1.4 Web的工作原理 19
1.4.1 情景1:伺服器不帶應用程式伺服器和資料庫 19
1.4.2 情景2:帶應用程式伺服器的Web伺服器 21
1.4.3 情景3:瀏覽器訪問伺服器端的資料庫21
1.5 LAMP網站開發組合概述 22
1.5.1 Linux作業系統 22
1.5.2 Web伺服器Apache 23
1.5.3 MySQL資料庫管理系統 24
1.5.4 PHP後台腳本程式語言 24
1.5.5 LAMP發展趨勢 25
第2章 從搭建你的PHP開發環境開始 27
2.1 幾種常見的PHP環境安裝方式 27
2.1.1 Linux系統下原始碼包方式安裝環境 27
2.1.2 在Windows系統上安裝Web工作環境 28
2.1.3 搭建學習型的PHP工作環境 28
2.2 環境安裝對作業系統的選擇 29
2.2.1 選擇網站運營的作業系統 29
2.2.2 選擇網站開發的作業系統 29
2.3 安裝集成PHP開發環境 30
2.3.1 安裝前準備 30
2.3.2 安裝步驟 30
2.3.3 環境測試 33
第3章 PHP的基本語法 36
3.1 PHP在Web開發中的套用 36
3.1.1 就從認識PHP開始吧 36
3.1.2 PHP都能做什麼 37
3.2 第一個PHP腳本程式 39
3.3 PHP語言標記 42
3.3.1 將PHP代碼嵌入HTML中的位置 43
3.3.2 解讀開始和結束標記 44
3.4 指令分隔設定“分號” 45
3.5 程式注釋 45
3.6 在程式中使用空白的處理 47
3.7 變數 48
3.7.1 變數的聲明 48
3.7.2 變數的命名 49
3.7.3 可變變數 51
3.7.4 變數的引用賦值 51
3.8 變數的類型 52
3.8.1 類型介紹 52
3.8.2 布爾型(boolean) 53
3.8.3 整型(integer) 54
3.8.4 浮點型(float或double) 55
3.8.5 字元串(string) 55
3.8.6 數組(array) 57
3.8.7 對象(object) 58
3.8.8 資源類型(resource) 58
3.8.9 NULL類型 59
3.8.10 偽類型介紹 59
3.9 數據類型之間相互轉換 60
3.9.1 自動類型轉換 60
3.9.2 強制類型轉換 61
3.9.3 類型轉換細節 62
3.10 常量 62
3.10.1 常量的定義和使用 62
3.10.2 常量和變數 63
3.11 PHP中的運算符 63
3.11.1 算術運算符 64
3.11.2 字元串運算符 66
3.11.3 賦值運算符 67
3.11.4 比較運算符 68
3.11.5 邏輯運算符 69
3.11.6 位運算符 70
3.11.7 其他運算符 73
3.11.8 運算符的優先權 74
3.12 表達式75
第4章 PHP的流程控制結構 76
4.1 分支結構 76
4.1.1 單一條件分支結構(if) 77
4.1.2 雙向條件分支結構(else從句) 78
4.1.3 多向條件分支結構(elseif子句) 79
4.1.4 多向條件分支結構(switch語句) 80
4.1.5 巢狀條件分支結構 82
4.2 循環結構 83
4.2.1 while語句 84
4.2.2 do…while循環 86
4.2.3 for語句 87
4.3 特殊的流程控制語句 90
4.3.1 break語句 90
4.3.2 continue語句 91
4.3.3 exit語句 91
第5章 PHP的函式套用 93
5.1 函式的定義 93
5.2 自定義函式 94
5.2.1 函式的聲明 94
5.2.2 函式的調用 96
5.2.3 函式的參數 97
5.2.4 函式的返回值 98
5.3 PHP變數的範圍 100
5.3.1 局部變數 100
5.3.2 全局變數 101
5.4 聲明及套用各種形式的PHP函式 103
5.4.1 常規參數的函式 104
5.4.2 偽類型參數的函式 104
5.4.3 引用參數的函式 105
5.4.4 默認參數的函式 106
5.4.5 可變個數參數的函式 108
5.4.6 回調函式 108
5.5 使用自定義函式館 111
第6章 PHP中的數組與數據結構 112
6.1 數組的分類 112
6.2 數組的定義 114
6.2.1 直接賦值的方式聲明數組 114
6.2.2 使用array()語言結構新建數組 116
6.2.3 多維數組的聲明 117
6.3 數組的遍歷 119
6.3.1 使用for語句循環遍歷數組 120
6.3.2 使用foreach語句遍歷數組 122
6.4 預定義數組 125
6.4.1 伺服器變數:$_SERVER 126
6.4.2 環境變數:$_ENV 126
6.4.3 URL GET變數:$_GET 126
6.4.4 HTTP POST變數:$_POST127
6.4.5 request變數:$_REQUEST 128
6.4.6 HTTP檔案上傳變數:$_FILES 128
6.4.7 HTTP Cookies:$_COOKIE129
6.4.8 Session變數:$_SESSION 129
6.4.9 Global變數:$GLOBALS 129
第7章 PHP面向對象的程式設計 130
7.1 面向對象的介紹 130
7.1.1 類和對象之間的關係 131
7.1.2 面向對象的程式設計 132
7.2 如何抽象一個類 132
7.2.1 類的聲明 133
7.2.2 成員屬性 133
7.2.3 成員方法 134
7.3 通過類實例化對象 136
7.3.1 實例化對象 136
7.3.2 對象中成員的訪問 137
7.3.3 特殊的對象引用“$this” 139
7.3.4 構造方法與析構方法 141
7.4 封裝性 144
7.4.1 設定私有成員 144
7.4.2 私有成員的訪問 145
7.4.3 __set()和__get()方法147
7.5 繼承性 151
7.5.1 類繼承的套用 152
7.5.2 訪問類型控制 153
7.5.3 子類中重載父類的方法 155
7.6 常見的關鍵字和魔術方法 158
7.6.1 final關鍵字的套用 158
7.6.2 static關鍵字的使用 159
7.6.3 const關鍵字 160
7.6.4 克隆對象 161
7.6.5 類中通用的方法__toString() 162
7.6.6 __call()方法的套用 163
7.6.7 自動載入類 164
第8章 字元串處理 165
8.1 字元串的處理介紹 165
8.1.1 字元串的處理方式 165
8.1.2 字元串類型的特點 166
8.1.3 雙引號中變數解析總結 167
8.2 常用的字元串輸出函式 167
8.3 常用的字元串格式化函式 170
8.3.1 去除空格和字元串填補函式 171
8.3.2 字元串大小寫的轉換 172
8.3.3 和HTML標籤相關的字元串格式化 172
第9章 正則表達式 177
9.1 正則表達式簡介 177
9.1.1 選擇PHP正則表達式的處理函式館 177
9.2 正則表達式的語法規則 178
9.2.1 定界符 179
9.2.2 原子 179
9.2.3 元字元 181
9.2.4 模式修正符 184
9.3 與Perl兼容的正則表達式函式 185
9.3.1 字元串的匹配與查找 185
9.3.2 字元串的替換 189
9.3.3 字元串的分割和連線 194
第10章 檔案系統處理 197
10.1 檔案系統概述 197
10.1.1 檔案類型 197
10.1.2 檔案的屬性 198
10.2 目錄的基本操作201
10.2.1 解析目錄路徑 201
10.2.2 遍歷目錄 203
10.2.3 統計目錄大小 204
10.2.4 建立和刪除目錄 205
10.2.5 複製目錄 206
10.3 檔案的基本操作207
10.3.1 檔案的打開與關閉 207
10.3.2 寫入檔案 209
10.3.3 讀取檔案內容 210
10.3.4 訪問遠程檔案 212
10.3.5 移動檔案指針 213
10.3.6 檔案的鎖定機制 214
10.3.7 檔案的一些基本操作函式 217
10.4 檔案的上傳與下載 218
10.4.1 檔案上傳 218
10.4.2 處理多個檔案上傳 222
10.4.3 檔案下載 223
第11章 PHP動態圖像處理 225
11.1 PHP中GD庫的使用 225
11.1.1 畫布管理 226
11.1.2 設定顏色 226
11.1.3 生成圖像 227
11.1.4 繪製圖像 228
11.1.5 在圖像中繪製文字 230
11.2 PHP圖片處理 232
11.2.1 圖片背景管理 233
11.2.2 圖片縮放 234
11.2.3 圖片裁剪 236
11.2.4 添加圖片水印 237
11.2.5 圖片旋轉和翻轉 238
第12章 MySQL資料庫概述 241
12.1 資料庫的套用 241
12.1.1 資料庫在Web開發中的重要地位242
12.1.2 為什麼PHP會選擇MySQL作為自己的黃金搭檔242
12.1.3 PHP和MySQL的合作方式 242
12.1.4 結構化查詢語言SQL 243
12.2 MySQL資料庫的常見操作244
12.2.1 MySQL資料庫的連線與關閉 244
12.2.2 創建新用戶並授權 245
12.2.3 創建資料庫 245
12.2.4 創建數據表 246
12.2.5 數據表內容的簡單管理 247
第13章 MySQL數據表的設計 249
13.1 數據表(Table) 249
13.2 數據值和列類型250
13.2.1 數值類的數據列類型 250
13.2.2 字元串類數據列類型 251
13.2.3 日期和時間型數據列類型 252
13.2.4 NULL值 253
13.2.5 類型轉換 253
13.3 數據欄位屬性 253
13.4 數據表對象管理254
13.4.1 創建表(CREATE TABLE) 254
13.4.2 修改表(ALTER TABLE)256
13.4.3 刪除表(DROP TABLE) 257
13.5 數據表的類型及存儲位置257
13.5.1 MyISAM數據表 257
13.5.2 InnoDB數據表258
13.5.3 如何選擇InnoDB還是MyISAM表類型258
13.6 數據表的默認字元集259
13.6.1 字元集支持原理 259
13.6.2 創建數據對象時修改字元集 259
13.7 創建索引 260
13.7.1 主鍵索引(PRIMARY KEY) 260
13.7.2 唯一索引(UNIQUE) 261
13.7.3 常規索引(INDEX) 261
第14章 SQL語句設計 263
14.1 運算元據表中的數據記錄(DML)263
14.1.1 使用INSERT語句向數據表中添加數據 263
14.1.2 使用UPDATE語句更新數據表中已存在的數據 264
14.1.3 使用DELETE語句刪除數據表中不需要的數據記錄 265
14.2 通過DQL命令查詢數據表中的數據 266
14.2.1 選擇特定的欄位 266
14.2.2 使用AS子句為欄位取別名 267
14.2.3 DISTINCT關鍵字的使用 267
14.2.4 在SELECT語句中使用表達式的列 268
14.2.5 使用WHERE子句按條件檢索 269
14.2.6 根據空值(NULL)確定檢索條件270
14.2.7 使用BETWEEN AND進行範圍比較查詢 270
14.2.8 使用IN進行範圍比對查詢 271
14.2.9 使用LIKE進行模糊查詢271
14.2.10 多表查詢(連線查詢) 272
14.2.11 嵌套查詢(子查詢) 274
14.2.12 使用ORDER BY對查詢結果排序275
14.2.13 使用LIMIT限定結果行數 275
14.2.14 使用統計函式 276
14.2.15 使用GROUP BY對查詢結果分組277
第15章 PHP訪問MySQL的擴展函式 279
15.1 PHP訪問MySQL資料庫伺服器的流程 279
15.2 在PHP腳本中連線MySQL伺服器 281
15.2.1 在PHP程式中選擇已創建的資料庫 282
15.2.2 執行SQL命令 283
15.2.3 在PHP腳本中處理SELECT查詢結果集 284
第16章 資料庫抽象層PDO 287
16.1 PDO所支持的資料庫287
16.2 PDO的安裝289
16.3 創建PDO對象 290
16.3.1 以多種方式調用構造方法 290
16.3.2 PDO對象中的成員方法 293
16.4 使用PDO對象 293
16.4.1 調整PDO的行為屬性 293
16.4.2 PDO處理PHP程式和資料庫之間的數據類型轉換 294
16.4.3 PDO的錯誤處理模式 295
16.4.4 使用PDO執行SQL語句295
16.5 PDO對預處理語句的支持297
16.5.1 了解PDOStatement對象 298
16.5.2 準備語句 299
16.5.3 綁定參數 300
16.5.4 執行準備好的查詢 301
16.5.5 獲取數據 302
第17章 會話控制 306
17.1 為什麼要使用會話控制 306
17.2 會話跟蹤的方式307
17.3 Cookie的套用 308
17.3.1 Cookie概述 308
17.3.2 向客戶端計算機中設定Cookie 309
17.3.3 在PHP腳本中讀取Cookie的資料內容310
17.3.4 數組形態的Cookie套用311
17.3.5 刪除Cookie 311
17.3.6 基於Cookie的用戶登錄模組312
17.4 Session的套用 314
17.4.1 Session概述 314
17.4.2 配置Session 315
17.4.3 Session的聲明與使用 316
17.4.4 註冊一個會話變數和讀取Session316
17.4.5 註銷變數與銷毀Session317
17.5 一個簡單的郵件系統實例318
17.5.1 為郵件系統準備數據 319
17.5.2 編碼實現郵件系統 320
17.5.3 郵件系統執行說明 322
第18章 PHP的模板引擎Smarty 324
18.1 什麼是模板引擎324
18.2 選擇Smarty模板引擎 326
18.3 安裝Smarty及初始化配置 327
18.3.1 安裝Smarty 327
18.3.2 初始化Smarty類庫的默認設定 328
18.3.3 第一個Smarty的簡單示例 331
18.4 Smarty的基本套用 333
18.4.1 PHP程式設計師常用和Smarty相關的操作334
18.4.2 模板設計時美工的常用操作 335
18.5 Smarty模板設計的基本語法 336
18.5.1 模板中的注釋 336
18.5.2 模板中的變數套用 336
18.5.3 模板中的函式套用 339
18.5.4 忽略Smarty解析 341
18.6 在Smarty模板中的變數套用 341
18.7 在Smarty模板中的變數調解器 344
18.7.1 變數調解器函式的使用方式 344
18.7.2 Smarty默認提供的變數調解器 345
18.7.3 自定義變數調解器外掛程式 347
18.8 Smarty模板中自定義函式349
18.8.1 為Smarty模板擴充函式外掛程式349
18.8.2 為Smarty模板擴充塊函式外掛程式 351
18.9 Smarty模板中的內置函式352
18.9.1 變數聲明 352
18.9.2 流程控制 353
18.9.3 聲明和調用模板函式 355
18.9.4 數組遍歷 356
18.9.5 Smarty提供的其他內置函式 361
18.10 Smarty的模板繼承特性 362
18.10.1 使用{extends}函式實現模板繼承362
18.10.2 在子模板中覆蓋父模板中的部分內容區域 363
18.10.3 合併子模板和父模板的{block}標籤內容 364
第19章 MVC模式與PHP框架366
19.1 MVC模式在Web中的套用 366
19.1.1 MVC模式的工作原理 366
19.1.2 MVC模式的優缺點368
19.2 PHP開發框架 369
19.2.1 什麼是框架 369
19.2.2 為什麼要用框架 370
19.2.3 框架和MVC設計模式的關係 370
19.2.4 比較流行的PHP框架 371
19.3 劃分模組和操作372
19.3.1 為項目劃分模組 373
19.3.2 為模組設定操作 373
以下內容詳見本書配書光碟:
第20章 超輕量級PHP框架
BroPHP 374
第21章 B/S結構軟體開發流程 425
第22章 需求分析說明書 434
第23章 資料庫設計說明書 445
第24章 程式設計說明書 461

作者簡介

高洛峰
LAMP兄弟連(北京易第優教育諮詢有限公司)教學總監,擁有8年軟體開發工作經驗,6年IT教學工作經驗。曾任多家上市企業技術總監、項目經理、高級軟體工程師等職務,具有紮實的技術功底。資深技術講師,從事IT培訓以來累計授課長達一萬課時以上,培訓數千名學員成功走向IT崗位,具有豐富的IT教學經驗。熟悉掌握UNIX/Linux/Windows等多種作業系統,一直從事PHP、Java、嵌入式、C/C++、Oracle資料庫等技術研發工作。其中,對Web系統軟體開發深有研究,近年來致力於推廣LAMP開源技術平台。

前言

PHP是一種開源免費的開發語言,具有程式開發速度快、運行快、技術本身學習快等快捷性的特點,無疑是當今Web開發中最佳的程式語言。與JSP和ASP相比,PHP具有簡易性、高安全性和執行靈活等優點,使用PHP開發的Web項目,在軟體方面的投資成本較低、運行穩定。因此,現在越來越多的供應商、用戶和企業投資者日益認識到,使用PHP開發的各種商業套用和協作構建各種網路應用程式,變得更加具有競爭力,更加吸引客戶。無論是從性能、質量還是價格上,PHP都將成為企業和政府信息化所必須考慮的開發語言。
本書包括的所有內容皆為當今Web項目開發必用的內容,涵蓋了PHP的絕大多數知識點,對於某一方面的介紹再從多角度進行延伸。全部內容圍繞PHP的面向對象思想設計編寫,幫助讀者深刻理解PHP開發技術,一步一步引導讀者從PHP面向過程的開發模式進入到面向對象的開發時代。本書全部技術點以PHP 5最流行的版本為主,詳細地介紹了PHP及與其相關的Web技術,可以幫助讀者在較短的時間內熟悉並掌握比較實用的PHP技術。其中包括PHP面向對象技術、資料庫抽象層PDO和Smarty 3模板引擎、學習型PHP框架BroPHP等主流技術,實用性非常強。本書所涉及的實例全部以特定的套用為基礎,讀者在學習和工作過程中,可以直接套用本書給出的一些獨立模組和編程思想。
本書是暢銷書《細說PHP(第2版)》精要部分的提取,編寫的宗旨是讓讀者能擁有一本PHP方面的學習和開發使用的最好書籍,章節雖然不是很多,但對所羅列出的每個知識點都進行了細化和延伸,並力求講解到位,讓讀者可以輕鬆地讀懂。對於幾乎每個知識點都有對應且詳實的可運行的代碼配套,對所有實例代碼都附有詳細注釋、說明及運行效果圖。另外在每個章節的最後還為讀者安排了大量的和本章知識點配套的授課課件及自測試題(附加在光碟中),能更好地幫助讀者掌握理論知識點,提高實際編程能力,寓學於練。
超強資源配套學習,跟蹤服務幫助讀者提高
在本書所附的DVD光碟中,附書中所有開發實例的原始碼及項目,讀者在開發中可以直接使用。本書部分章節及課後習題、授課課件、附加章節由於書的容量限制,也附加到了光碟中。光碟中還贈送配套的全部教學視頻,總計長達150個小時。通過參考本書再結合視頻教學光碟,可以加快對知識點的掌握,加快學習進度。
為了幫助讀者學習到更多的PHP技術,在兄弟連論壇還可以下載常用的技術手冊、安裝LAMP環境所需要的開源軟體和本書每章後面為讀者安排的大量自測題配套答案。筆者及“LAMP兄弟連”的全體講師和技術人員也會及時回答讀者提問,與讀者進行線上技術交流,並為讀者提供各類技術文章,幫助讀者提高開發水平,解決讀者在開發中遇到的疑難問題。

特別說明

《細說PHP(精要版)》的20到24章是項目開發的實戰所需要的資料,其中第20章是BroPHP框架的使用手冊,第21、22和23章分別是項目開發中必須用到的三個重要項目說明書(需求說明書、資料庫設計說明書和程式設計說明書)。開發中不僅要學習項目的開發流程,更重要的是形成配套的開發文檔。為了便於讀者開發中有可以方便攜帶和查閱的BroPHP框架技術手冊,和可以直接作為模板使用的三種項目說明書,讓讀者只需要根據自己的項目內容,在此模板上修改,就可以完成項目文檔的編寫,所以本書以電子版的形式將這幾章提供給讀者,放在配書光碟中。
本書適合讀者
 接受PHP培訓的學員
 Web開發愛好者
 網站維護及管理人員
 初級或專業的網站開發人員
 大中專院校的教師及培訓中心的講師
 進行畢業設計和對PHP感興趣的學生
 從事ASP或JSP而想轉向PHP開發的程式設計師

相關詞條

熱門詞條

聯絡我們