PHP編程(第3版)

PHP編程(第3版)

《PHP編程(第3版)》是2015年電子工業出版社出版的書籍,作者是(美)Kevin Tatroe、PeterMacIntyre、Rasmus Lerdorf 。

基本介紹

  • 中文名:PHP編程(第3版)
  • 作者:【美】Kevin Tatroe,Peter MacIntyre,Rasmus Lerdorf 編
  • 譯者:趙戈戈 易國磐 張鵬飛 譯
  • 出版時間:2015年03月
  • 出版社:電子工業出版社
  • 頁數:536 頁
  • ISBN:978-7-121-25312-6
  • 類別:程式語言
  • 定價:99 元
  • 開本:16 開
  • 裝幀:平裝
目錄,前言,內容簡介,

目錄

序言 .............................................................................xxi
前言 ........................................................................... xxiii
第1 章 PHP 介紹 ........................................................... 1
PHP 可以做什麼 ....................................................................................................1
PHP 歷史簡述 ........................................................................................................2
PHP 的演變 .....................................................................................................2
PHP 的廣泛使用 ..............................................................................................7
安裝PHP ................................................................................................................7
PHP 的發展 ............................................................................................................8
配置頁 .............................................................................................................9
表單 .................................................................................................................9
資料庫 ........................................................................................................... 11
圖像 ...............................................................................................................13
第2 章 語言基礎 .......................................................... 15
詞法結構 ..............................................................................................................15
大小寫 ...........................................................................................................15
語句和分號 ...................................................................................................15
空白符和換行 ................................................................................................16
注釋 ...............................................................................................................17
字面量 ...........................................................................................................20
標識符 ...........................................................................................................20
關鍵字 ...........................................................................................................21
數據類型 ..............................................................................................................22
整型 ...............................................................................................................22
浮點數 ...........................................................................................................23
字元串 ...........................................................................................................24
布爾型 ...........................................................................................................25
數組 ...............................................................................................................26
對象 ...............................................................................................................27
資源 ...............................................................................................................28
回調 ...............................................................................................................29
NULL ............................................................................................................29
變數 .....................................................................................................................29
變數的變數 ...................................................................................................30
變數的引用 ...................................................................................................30
變數的作用域 ................................................................................................31
垃圾收集 .......................................................................................................33
表達式和操作符 ...................................................................................................35
操作符的數目 ................................................................................................36
操作符的優先權 ............................................................................................36
操作符的結合性 ............................................................................................37
隱式轉換 .......................................................................................................37
算術操作符 ...................................................................................................38
字元串連線操作符 ........................................................................................39
自動遞增/自動遞減操作符 .........................................................................39
比較操作符 ...................................................................................................40
位操作符 .......................................................................................................41
邏輯操作符 ...................................................................................................43
類型轉換操作符 ............................................................................................43
賦值操作符 ...................................................................................................45
其他操作符 ...................................................................................................46
流程控制語句 ......................................................................................................47
if ....................................................................................................................47
switch ............................................................................................................50
while ..............................................................................................................51
for ..................................................................................................................54
foreach ...........................................................................................................55
try...catch .......................................................................................................56
declare ...........................................................................................................56
exit 和 return .................................................................................................57
goto ...............................................................................................................57
包含代碼 ..............................................................................................................58
在Web 頁面中嵌套PHP ......................................................................................60
標準(XML)風格 .......................................................................................60
SGML 風格 ...................................................................................................62
ASP 風格 .......................................................................................................62
Script 風格 ....................................................................................................62
直接輸出內容 ................................................................................................63
第3 章 函式 ................................................................ 65
調用函式 ..............................................................................................................65
定義函式 ..............................................................................................................66
變數作用域 ..........................................................................................................68
全局變數 .......................................................................................................69
靜態變數 .......................................................................................................70
函式參數 ..............................................................................................................70
按值傳遞參數 ................................................................................................70
按引用傳遞參數 ............................................................................................71
默認參數 .......................................................................................................71
可變參數 .......................................................................................................72
遺漏參數 .......................................................................................................73
類型提示 .......................................................................................................74
返回值 ..................................................................................................................74
可變函式 ..............................................................................................................75
匿名函式 ..............................................................................................................76
第4 章 字元串 ............................................................. 79
引用字元串常量 ...................................................................................................79
變數插值 .......................................................................................................79
單引號括起來的字元串 .................................................................................80
雙引號括起來的字元串 .................................................................................80
here 文檔 .......................................................................................................81
輸出字元串 ..........................................................................................................82
echo ...............................................................................................................83
print( ) ............................................................................................................83
printf( ) ...........................................................................................................83
print_r( ) 和var_dump( ) .................................................................................85
訪問單個字元 ......................................................................................................87
整理字元串 ..........................................................................................................87
刪除空白符號 ................................................................................................87
改變大小寫 ...................................................................................................88
編碼和轉義 ..........................................................................................................89
HTML ............................................................................................................89
URL ...............................................................................................................92
SQL ...............................................................................................................93
C 語言字元串編碼 .........................................................................................93
比較字元串 ..........................................................................................................94
精確比較 .......................................................................................................94
近似相等 .......................................................................................................96
處理和查找字元串 ...............................................................................................98
子串 ...............................................................................................................98
其他字元串函式 ............................................................................................99
分解字元串 ................................................................................................. 100
字元串查找函式 .......................................................................................... 102
正則表達式 ........................................................................................................ 105
基礎 ............................................................................................................. 105
字元類 ......................................................................................................... 106
選擇性 ......................................................................................................... 107
重複序列 ..................................................................................................... 107
子模式 ......................................................................................................... 108
分隔設定 ......................................................................................................... 108
匹配行為 ..................................................................................................... 109
字元類 ......................................................................................................... 109
錨 ................................................................................................................ 111
量詞和貪婪 ................................................................................................. 111
非捕獲組 ..................................................................................................... 112
逆向引用 ..................................................................................................... 112
後綴選項 ..................................................................................................... 112
內聯選項 ..................................................................................................... 114
前向和後向斷言 .......................................................................................... 114
剪下 ............................................................................................................. 115
條件表達式 ................................................................................................. 116
正則表達式的相關函式 ............................................................................... 116
和Perl 正則表達式的差別 ........................................................................... 122
第5 章 數組 .............................................................. 123
索引數組和關聯數組 ......................................................................................... 123
識別數組元素 .................................................................................................... 124
在數組中存儲數據 ............................................................................................. 124
在數組末尾添加值 ...................................................................................... 126
指定值的範圍 .............................................................................................. 126
獲得數組大小 .............................................................................................. 126
填充數組 ..................................................................................................... 127
多維數組 ............................................................................................................ 127
析取多個值 ........................................................................................................ 128
切割數組 ..................................................................................................... 128
數組分塊 ..................................................................................................... 129
鍵(Key)和值(Value) ............................................................................. 130
檢查元素是否存在 ...................................................................................... 130
在數組中刪除和插入元素 ........................................................................... 131
數組和變數間的轉換 ......................................................................................... 132
從數組創建變數 .......................................................................................... 133
從變數創建數組 .......................................................................................... 133
遍歷數組 ............................................................................................................ 133
foreach 結構 ................................................................................................ 134
疊代器函式 ................................................................................................. 134
使用for 循環 ............................................................................................... 136
為數組中的每個元素調用函式 .................................................................... 136
數組歸納 ..................................................................................................... 137
查找元素值 ................................................................................................. 138
排序 ................................................................................................................... 139
一次排序一個數組 ...................................................................................... 140
按自然順序排序 .......................................................................................... 142
一次對多個數組進行排序 ........................................................................... 143
翻轉數組 ..................................................................................................... 143
隨機排序 ..................................................................................................... 144
作用於整個數組 ................................................................................................. 145
計算數組的和 .............................................................................................. 145
合併兩個數組 .............................................................................................. 145
計算兩個數組的不同 ................................................................................... 146
從數組中過濾元素 ...................................................................................... 146
使用數組 ............................................................................................................ 147
集合 ............................................................................................................. 147
堆疊 ............................................................................................................. 148
疊代器接口 ........................................................................................................ 149
第6 章 對象 .............................................................. 153
術語 ................................................................................................................... 154
創建一個對象 .................................................................................................... 154
訪問對象的屬性和方法 ...................................................................................... 155
聲明一個類 ........................................................................................................ 156
聲明方法 ..................................................................................................... 157
聲明屬性 ..................................................................................................... 159
聲明類常量 ................................................................................................. 161
繼承 ............................................................................................................. 162
接口 ............................................................................................................. 163
特徵 ............................................................................................................. 163
抽象類方法 ................................................................................................. 167
構造函式 ..................................................................................................... 168
析構函式 ..................................................................................................... 169
自省 ................................................................................................................... 170
類檢驗 ......................................................................................................... 170
對象檢驗 ..................................................................................................... 171
自省程式示例 .............................................................................................. 172
序列化 ................................................................................................................ 176
第7 章 Web 技術 ...................................................... 181
HTTP 基礎 ......................................................................................................... 181
變數 ................................................................................................................... 182
伺服器信息 ........................................................................................................ 183
處理表單 ............................................................................................................ 185
方法 ............................................................................................................. 185
參數 ............................................................................................................. 186
自處理頁面 ................................................................................................. 187
粘性表單 ..................................................................................................... 189
多值參數 ..................................................................................................... 190
粘性多值參數 .............................................................................................. 192
檔案上傳 ..................................................................................................... 194
表單驗證 ..................................................................................................... 195
設定回響頭 ........................................................................................................ 197
不同的內容類型 .......................................................................................... 198
重定向 ......................................................................................................... 198
過期 ............................................................................................................. 198
認證 ............................................................................................................. 199
維護狀態 ............................................................................................................ 200
cookie .......................................................................................................... 201
會話 ............................................................................................................. 204
結合cookie 和會話 ..................................................................................... 207
SSL .................................................................................................................... 208
第8 章 資料庫 ........................................................... 209
使用PHP 訪問資料庫 ........................................................................................ 209
關係型資料庫和SQL ......................................................................................... 210
PHP 數據對象 ............................................................................................. 211
MySQLi 對象接口 .............................................................................................. 214
檢索數據顯示 .............................................................................................. 215
SQLite ................................................................................................................ 216
直接檔案級別操作 ............................................................................................. 220
MongoDB ........................................................................................................... 228
檢索數據 ..................................................................................................... 231
插入更複雜的數據 ...................................................................................... 231
第9 章 圖像 ............................................................. 235
在網頁中嵌入圖片 ............................................................................................. 235
基本圖像概念 .................................................................................................... 236
創建和繪製圖像 ................................................................................................. 237
圖像程式的結構 .......................................................................................... 238
變更輸出格式 .............................................................................................. 239
圖片格式支持測試 ...................................................................................... 239
讀取已有的檔案 .......................................................................................... 240
基本畫圖函式 .............................................................................................. 240
帶文本的圖像 .................................................................................................... 242
字型 ............................................................................................................. 243
TrueType 字型 ............................................................................................. 243
動態生成按鈕 .................................................................................................... 245
快取動態生成的按鈕 ................................................................................... 246
更快的快取 ................................................................................................. 247
圖片縮放 ............................................................................................................ 249
顏色處理 ............................................................................................................ 251
使用 alpha 通道 ........................................................................................... 252
顏色識別 ..................................................................................................... 253
真彩色索引 ................................................................................................. 254
圖像的文本形式 .......................................................................................... 255
第10 章 PDF ............................................................ 257
PDF 擴展 ........................................................................................................... 257
文檔和頁面 ........................................................................................................ 257
簡單的示例 ................................................................................................. 258
初始化文檔 ................................................................................................. 259
輸出文本單元格 .......................................................................................... 259
文本 ................................................................................................................... 259
坐標 ............................................................................................................. 259
文本屬性 ..................................................................................................... 262
頁眉、頁腳和類擴展 ................................................................................... 264
圖片和連結 ................................................................................................. 266
表格和數據 ................................................................................................. 269
第11 章 XML ............................................................ 273
XML 快速入門 ................................................................................................... 273
生成 XML .......................................................................................................... 275
解析 XML .......................................................................................................... 277
元素處理器 ................................................................................................. 277
字元數據處理器 .......................................................................................... 278
處理指令 ..................................................................................................... 279
實體處理器 ................................................................................................. 279
默認處理器 ................................................................................................. 281
選項 ............................................................................................................. 282
使用解析器 ................................................................................................. 282
錯誤 ............................................................................................................. 284
方法作為處理器 .......................................................................................... 285
示例解析程式 .............................................................................................. 285
用DOM 解析 XML ............................................................................................ 290
用SimpleXML 解析 XML ................................................................................. 291
用 XSLT 轉換 XML ........................................................................................... 292
第12 章 安全 ............................................................ 295
過濾輸入 ............................................................................................................ 295
跨站腳本 ............................................................................................................ 297
SQL 注入 ..................................................................................................... 298
轉義輸出 ............................................................................................................ 299
檔案名稱 ......................................................................................................... 304
會話固定 ............................................................................................................ 306
檔案上傳 ............................................................................................................ 306
不要相信瀏覽器提供的檔案名稱 .................................................................... 306
提防檔案系統填充 ...................................................................................... 307
尚存的 register_globals ............................................................................... 307
檔案訪問 ............................................................................................................ 308
限制檔案系統訪問特定目錄 ....................................................................... 308
第一次就做對 .............................................................................................. 309
不要使用檔案 .............................................................................................. 309
會話檔案 ..................................................................................................... 309
隱藏 PHP 庫 ................................................................................................ 310
PHP 代碼 ............................................................................................................ 310
命令行腳本 ........................................................................................................ 312
更多信息 ............................................................................................................ 312
安全概要重述 .................................................................................................... 313
第13 章 套用技術 ...................................................... 315
代碼庫 ................................................................................................................ 315
模板系統 ............................................................................................................ 316
處理輸出 ............................................................................................................ 319
輸出緩衝 ..................................................................................................... 319
壓縮輸出 ..................................................................................................... 321
錯誤處理 ............................................................................................................ 321
錯誤報告 ..................................................................................................... 321
錯誤抑制 ..................................................................................................... 323
觸發錯誤 ..................................................................................................... 323
定義錯誤處理器 .......................................................................................... 324
性能調優 ............................................................................................................ 327
基準測試 ..................................................................................................... 328
分析 ............................................................................................................. 329
最佳化執行時間 .............................................................................................. 331
最佳化記憶體占用 .............................................................................................. 331
反向代理和複製 .......................................................................................... 331
第14 章 不同平台的PHP .......................................... 335
為Windows 和UNIX 寫可移植的代碼 .............................................................. 335
確定平台 ..................................................................................................... 336
跨平台處理路徑 .......................................................................................... 336
伺服器環境 ................................................................................................. 336
傳送郵件 ..................................................................................................... 337
行尾處理 ..................................................................................................... 337
檔案尾部處理 .............................................................................................. 338
外部命令 ..................................................................................................... 338
常見的特定平台擴展 ................................................................................... 338
COM 接口 .......................................................................................................... 339
背景 ............................................................................................................. 339
PHP 函式 ..................................................................................................... 341
確定 API ...................................................................................................... 341
第15 章 網頁服務 ...................................................... 343
REST 客戶端 ..................................................................................................... 343
回響 ............................................................................................................. 345
獲取資源 ..................................................................................................... 348
更新資源 ..................................................................................................... 348
創建資源 ..................................................................................................... 349
刪除資源 ..................................................................................................... 350
XML-RPC .......................................................................................................... 350
伺服器 ......................................................................................................... 350
客戶端 ......................................................................................................... 352
第16 章 調試PHP ..................................................... 355
開發環境 ............................................................................................................ 355
預演環境 ............................................................................................................ 356
生產環境 ............................................................................................................ 356
php.ini 配置 ........................................................................................................ 357
手動調試 ............................................................................................................ 358
錯誤日誌 ............................................................................................................ 360
IDE 調試 ............................................................................................................ 361
更多的調試技術 ................................................................................................. 362
第17 章 日期和時間 .................................................. 363
附錄A 函式參考 ........................................................ 367
索引 ........................................................................... 487

前言

到目前為止,Web 是團隊和個人溝通的最大媒介。網頁承載著人造衛星拍攝的地球全貌圖像、外太空生命探索、家庭個人相冊、購物車和產品列表。很多網頁都是用PHP 驅動的,這是一個為HTML 而生的開源腳本語言。
自1994 年創造以來,PHP 因其驚人的增長風靡網路,IBM 和Oracle(僅舉幾例)也曾推薦。
數百萬的網站使用PHP 足以證明它的流行和易用。每天人們可以學習PHP 並且構建強大的動態網頁。Marc Andreessen,Andreessen Horowitz 的搭檔和 Netscape 社區的創始人,最近說過 PHP 已經取代 Java 成為最主要的 Web 語言。
PHP 5 以後的語言核心突出了強大的字元串和數組處理工具,還有對面向對象的支持和最佳化。用可選的擴展模組,一個PHP 套用可以和MySQL 或Oracle 資料庫互動、畫圖、創建PDF 檔案和解析XML 檔案。你可以用 C 語言寫自己的擴展模組,例如,要為已有的代碼庫提供一個PHP 接口。你也可以在Windows 上運行 PHP,也可以讓你控制其他Windows 應用程式,例如用COM 調用Word 和Excel,或者使用ODBC 和資料庫互動。
這本書是PHP 語言的指南。當讀完後,你會知道PHP 語言是如何工作的,如何在標準的PHP 中使用強大的擴展,如何設計自己的PHP 網頁程式。讀者
PHP 是一個文化熔爐。網頁設計者會感受它的易用性和便利性,程式設計師會感受它的易擴展性、強大、多樣性和速度。兩種文化需要清晰和精確地引申到語言。如果你是一個程式設計師,這本書適合你。我們展示了PHP 語言的藍圖,並且不浪費你的時間來討論具體的例子。許多例子都有詳細的解釋,並且實際編程建議和代碼風格提示都使你不止是一個PHP 程式設計師,而是更好的PHP 程式設計師。
如果你是一個網頁設計者,會感受到特定的技術都有清晰有用的指南,比如XML、會話、PDF 生成和圖像。你可以快速獲取到你需要的信息,用簡單術語表達的基本的編程原則。這本書已經過完整的校對來應對最新的PHP 5 的特性。
前提
該書假設你有HTML 的工作經驗,如果你不會HTML,需要在學習PHP 之前從一些簡單的網頁獲得一些經驗。更多關於HTML 的信息,我們推薦 Chunk Musciano 和Bill Kennedy 寫的HTML & XHTML: The Definitive Guide 一書(由O’Reilly 出版)。

內容簡介

這是一本可以讓讀者深入了解PHP技術的書籍,作者用言簡意賅的語言並結合了大量實例來解釋每一個要素。《PHP編程(第3版)》涵蓋了PHP 所有基本的要點,不管你是一個想從頭開始學習PHP的人,還是對PHP 已經有了基礎想繼續深入的人,這本書都很合適。
我們精心編排了本書內容讓你可以從開始順序閱讀或者跳著閱讀感興趣的主題。全書共有17 章和1 個附錄。如下所示。
第1 章,PHP 介紹
講述關於PHP 的歷史並概述可以用PHP 程式做什麼。
第2 章,語言基礎
PHP 元素的簡明指南。比如定義符、數據類型、操作符和流控制語句。
第3 章,函式
討論用戶定義的函式。包含作用域、變數長度參數列表、變數和匿名函式。
第4 章,字元串
涵蓋你在用PHP 代碼構建、解析、搜尋和修改字元串時需用到的函式。
第5 章,數組
介紹用PHP 代碼構建、處理和排序數組的函式和詳細注釋。
第6 章,對象
涵蓋PHP 的面向對象的新特性。在本章中,你會了解類、對象、繼承和自省。
第7 章,Web 技術
討論網頁基礎,例如表單參數和驗證、Cookie 以及會話。
第8 章,資料庫
討論PHP 使用資料庫的模組和函式,使用PEAR 資料庫和MySQL 資料庫作為例子。同時,也會涵蓋SQLite 資料庫引擎和新的PDO 接口。
第9 章,圖像
示範如何用PHP 創建和修改不同格式的圖像檔案。
第10 章,PDF
解釋如何從PHP 程式創建動態的PDF 檔案。
第11 章,XML
介紹PHP 更新的擴展,用來生成和解析XML 數據。
第12 章,安全
為程式設計師創建安全的腳本提供有價值的建議和引導。你會了解編程技術的最佳實踐,幫你避免會帶來災難的錯誤。
第13 章,套用技術
講述大多數PHP 程式設計師最終都會用到的高級技術,介紹錯誤處理和性能調優。
第14 章,不同平台的 PHP
講解Windows 端PHP 的技巧和陷阱,也會講到Windows 上獨特的 COM 特性。
第15 章,網頁服務
提供用PHP 創建現代網頁服務API 的技術,和連線其他系統的API。
第16 章,調試PHP
講述調試PHP 代碼的技術和如何編寫可調試的PHP 代碼。
第17 章,日期和時間
講述PHP 處理日期和時間的內建類。
附錄A
PHP 所有核心函式的快速參考。
本書約定
本書使用如下的印刷約定:
斜體(Italic)
表示新的術語、URL、郵件地址、檔案名稱和檔案擴展名。
等寬字型(Constant width)
用來表示程式代碼,也會在一個普通段落中用來引用變數或者函式名、資料庫、數據類型、環境變數、表達式以及關鍵字。
等寬粗體(Constant width bold)
表示命令或者用戶必須正確輸入的文本。
等寬斜體(Constant width italic)
用戶必須替換為自己的值或者依據上下文的值的文本。
這個圖示表示提示、建議或一般性標註。
這個圖示表示警告或注意。
中文版書中切口以“ ”表示原書頁碼,便於讀者與原英文版圖書對照閱讀,本書的索引中所列的頁碼為原英文版頁碼。

相關詞條

熱門詞條

聯絡我們