深入PHP面向對象模式與實踐(第三版)一書在內容上每個段落先提出問題,給出實現(xiàn),并討論成效, 對于PHP入門有一定幫助——但并不大,能夠幫助開拓思路,對有PHP工作經驗的人來說非常具有參考價值,畢竟可以換換空氣,讓腦子清空一下。另外在翻譯上譯者沒有咬文嚼字,使整本書的內容通俗易懂,畢竟都是按照中國程序員對專屬名詞的普遍認識所翻譯的。本節(jié)內容東坡小編為大家整理帶來的是一份pdf高清掃描版,且內容完整的中文版深入PHP面向對象模式與實踐(第三版),需要查閱的朋友只需點擊本文相應的下載地址進行下載即可!
深入PHP面向對象模式與實踐(第三版)目錄
第一部分 介 紹
第1 章 PHP:設計與管理 2
1.1 問題 2
1.2 PHP 和其他語言 3
1.3 關于本書 5
1.3.1 對象 5
1.3.2 模式 5
1.3.3 實踐 6
1.3.4 第3 版新增內容 7
1.4 小結 7
第二部分 對 象
第2 章 PHP 與對象 10
2.1 PHP 對象的偶然成功 10
2.1.1 最初:PHP/FI 10
2.1.2 語法糖:PHP 3 10
2.1.3 一場靜悄悄的革命:PHP 4 11
2.1.4 擁抱改變:PHP 5 12
2.2 走向未來:PHP 6 13
2.3 擁護和疑慮:關于對象的爭辯 13
2.4 小結 14
第3 章 對象基礎 15
3.1 類和對象 15
3.1.1 編寫第一個類 15
3.1.2 第一個對象(或兩個) 16
3.2 設置類中的屬性 17
3.3 使用方法 19
3.4 參數和類型 21
3.4.1 基本類型 22
3.4.2 獲得提示:對象類型 24
3.5 繼承 26
3.5.1 繼承問題 26
3.5.2 使用繼承 30
3.5.3 public、private、protected:管理類的訪問 35
3.6 小結 39
第4 章 高級特性 40
4.1 靜態(tài)方法和屬性 40
4.2 常量屬性 43
4.3 抽象類 44
4.4 接口 46
4.5 延遲靜態(tài)綁定:static 關鍵字 47
4.6 錯誤處理 50
4.7 Final 類和方法 56
4.8 使用攔截器 57
4.9 析構方法 61
4.10 使用__clone()復制對象 62
4.11 定義對象的字符串值 64
4.12 回調、匿名函數和閉包 65
4.13 小結 69
第5 章 對象工具 70
5.1 PHP 和包 70
5.1.1 PHP 包和命名空間 70
5.1.2 自動加載 78
5.2 類函數和對象函數 79
5.2.1 查找類 80
5.2.2 了解對象或類 81
5.2.3 了解類中的方法 82
5.2.4 了解類屬性 83
5.2.5 了解繼承 83
5.2.6 方法調用 84
5.3 反射API 85
5.3.1 入門 85
5.3.2 開始行動 86
5.3.3 檢查類 88
5.3.4 檢查方法 89
5.3.5 檢查方法參數 91
5.3.6 使用反射API 92
5.4 小結 95
第6 章 對象與設計 96
6.1 代碼設計的定義 96
6.2 面向對象設計和過程式編程 97
6.2.1 職責 100
6.2.2 內聚 100
6.2.3 耦合 101
6.2.4 正交 101
6.3 選擇類 101
6.4 多態(tài) 102
6.5 封裝 104
6.6 忘記細節(jié) 105
6.7 4 個方向標 105
6.7.1 代碼重復 106
6.7.2 類知道的太多 106
6.7.3 萬能的類 106
6.7.4 條件語句 106
6.8 UML 106
6.8.1 類圖 107
6.8.2 時序圖 111
6.9 小結 112
第三部分 模 式
第7 章 什么是設計模式?為何使用它們 114
7.1 什么是設計模式 114
7.2 設計模式概覽 116
7.2.1 命名 116
7.2.2 問題 116
7.2.3 解決方案 117
7.2.4 效果 117
7.3 《設計模式》格式 117
7.4 為什么使用設計模式 118
7.4.1 一個設計模式定義了一個問題 118
7.4.2 一個設計模式定義了一個解決方案 118
7.4.3 設計模式是語言無關的 118
7.4.4 模式定義了一組詞匯 118
7.4.5 模式是經過測試的 119
7.4.6 模式是為協(xié)作而設計的 119
7.4.7 設計模式促進良好設計 119
7.5 PHP 與設計模式 120
7.6 小結 120
第8 章 模式原則 121
8.1 模式的啟示 121
8.2 組合與繼承 122
8.2.1 問題 122
8.2.2 使用組合 124
8.3 解耦 127
8.3.1 問題 127
8.3.2 降低耦合 128
8.4 針對接口編程,而不是針對實現(xiàn)編程 130
8.5 變化的概念 131
8.6 父子關系 132
8.7 模式 132
8.7.1 用于生成對象的模式 133
8.7.2 用于組織對象和類的模式 133
8.7.3 面向任務的模式 133
8.7.4 企業(yè)模式 133
8.7.5 數據庫模式 133
8.8 小結 133
第9 章 生成對象 134
9.1 生成對象的問題和解決方法 134
9.2 單例模式 138
9.2.1 問題 138
9.2.2 實現(xiàn) 139
9.2.3 結果 141
9.3 工廠方法模式 141
9.3.1 問題 141
9.3.2 實現(xiàn) 143
9.3.3 結果 145
9.4 抽象工廠模式 146
9.4.1 問題 146
9.4.2 實現(xiàn) 147
9.4.3 結果 148
9.4.4 原型模式 150
9.4.5 問題 150
9.4.6 實現(xiàn) 151
9.5 某些模式的騙術 153
9.6 小結 154
第10 章 讓面向對象編程更加靈活的模式 155
10.1 構造可靈活創(chuàng)建對象的類 155
10.2 組合模式 155
10.2.1 問題 156
10.2.2 實現(xiàn) 158
10.2.3 效果 161
10.2.4 組合模式小結 164
10.3 裝飾模式 165
10.3.1 問題 165
10.3.2 實現(xiàn) 167
10.3.3 效果 170
10.4 外觀模式 170
10.4.1 問題 170
10.4.2 實現(xiàn) 172
10.4.3 效果 172
10.5 小結 173
第11 章 執(zhí)行及描述任務 174
11.1 解釋器模式 174
11.1.1 問題 174
11.1.2 實現(xiàn) 175
11.1.3 解釋器的問題 182
11.2 策略模式 183
11.2.1 問題 183
11.2.2 實現(xiàn) 184
11.3 觀察者模式 187
11.4 訪問者模式 194
11.4.1 問題 194
11.4.2 實現(xiàn) 195
11.4.3 訪問者模式的問題 199
11.5 命令模式 200
11.5.1 問題 200
11.5.2 實現(xiàn) 200
11.6 小結 204
第12 章 企業(yè)模式 205
12.1 架構概述 205
12.1.1 模式 205
12.1.2 應用程序和層 206
12.2 企業(yè)架構之外的基礎模式 208
12.2.1 注冊表 208
12.2.2 實現(xiàn) 209
12.3 表現(xiàn)層 217
12.3.1 前端控制器 217
12.3.2 應用控制器 227
12.3.3 頁面控制器 237
12.3.4 模板視圖和視圖助手 242
12.4 業(yè)務邏輯層 245
12.4.1 事務腳本 245
12.4.2 領域模型 249
12.5 小結 252
第13 章 數據庫模式 253
13.1 數據層 253
13.2 數據映射器 253
13.2.1 問題 254
13.2.2 實現(xiàn) 254
13.2.3 效果 265
13.3 標識映射 266
13.3.1 問題 266
13.3.2 實現(xiàn) 266
13.3.3 效果 269
13.4 工作單元 269
13.4.1 問題 269
13.4.2 實現(xiàn) 270
13.4.3 效果 274
13.4.4 延遲加載 274
13.4.5 問題 274
13.4.6 實現(xiàn) 274
13.4.7 效果 276
13.5 領域對象工廠 276
13.5.1 問題 276
13.5.2 實現(xiàn) 277
13.5.3 效果 278
13.6 標識對象 279
13.6.1 問題 279
13.6.2 實現(xiàn) 280
13.6.3 效果 285
13.7 選擇工廠和更新工廠模式 285
13.7.1 問題 285
13.7.2 實現(xiàn) 285
13.7.3 效果 288
13.8 數據映射器中剩下些什么 289
13.9 小結 291
第四部分 實 踐
第14 章 良好和糟糕的實踐 294
14.1 超越代碼 294
14.2 借一個輪子 295
14.3 合作愉快 296
14.4 為你的代碼插上雙翼 297
14.5 文檔 297
14.6 測試 298
14.7 持續(xù)集成 299
14.8 小結 300
第15 章 PEAR 和Pyrus 301
15.1 什么是PEAR 301
15.2 了解Pyrus 302
15.3 安裝PEAR 包 303
15.4 使用PEAR 包 306
15.5 創(chuàng)建自己的PEAR 包 311
15.5.1 package.xml 311
15.5.2 package.xml 的組成 312
15.5.3 contents 元素 313
15.5.4 依賴 316
15.5.5 使用phprelease 進行靈活的自定義安裝 317
15.5.6 準備發(fā)布包 318
15.5.7 創(chuàng)建自己的PEAR 頻道 318
15.6 小結 323
第16 章 用phpDocumentor 生成文檔 324
16.1 為什么要使用文檔 324
16.2 安裝 325
16.3 生成文檔 325
16.4 DocBlock 注釋 327
16.5 類的文檔 328
16.6 文件的文檔 330
16.7 屬性的文檔 330
16.8 方法的文檔 331
16.9 在文檔中創(chuàng)建鏈接 333
16.10 小結 335
第17 章 使用Subversion 進行版本控制 336
17.1 為什么要使用版本控制 336
17.2 獲得Subversion 337
17.3 配置Subversion 代碼庫 338
17.4 開始項目 339
17.5 更新和提交 341
17.6 增加和刪除文件及目錄 344
17.6.1 添加文件 344
17.6.2 刪除文件 345
17.6.3 添加目錄 345
17.6.4 刪除目錄 345
17.7 標記和導出項目 345
17.7.1 標記項目 345
17.7.2 導出項目 346
17.8 創(chuàng)建項目分支 347
17.9 小結 350
第18 章 使用PHPUnit 進行測試 351
18.1 功能測試與單元測試 351
18.2 手工測試 352
18.3 引入PHPUnit 354
18.3.1 創(chuàng)建測試用例 354
18.3.2 斷言方法 355
18.3.3 測試異常 356
18.3.4 運行測試套件 357
18.3.5 約束 358
18.3.6 模擬與樁 360
18.3.7 失敗是成功之母 362
18.4 編寫Web 測試 365
18.4.1 為測試重構Web 應用 366
18.4.2 簡單的Web 測試 368
18.4.3 Selenium 370
18.5 警告 374
18.6 小結 376
第19 章 用Phing 實現(xiàn)項目的自動構建 377
19.1 什么是Phing 377
19.2 獲取和安裝Phing 378
19.3 編寫build 文檔 378
19.3.1 目標 380
19.3.2 屬性 382
19.3.3 類型 387
19.3.4 任務 391
19.4 小結 394
第五部分 結 論
第20 章 持續(xù)集成 396
20.1 什么是持續(xù)集成 396
20.2 CruiseControl 和phpUnderControl 404
20.2.1 安裝CruiseControl 404
20.2.2 安裝phpUnderControl 406
20.2.3 安裝項目 408
20.3 小結 418
第21 章 對象、模式與實踐 419
21.1 對象 419
21.1.1 選擇 420
21.1.2 封裝和委托 420
21.1.3 解耦 420
21.1.4 復用性 421
21.1.5 美學 421
21.2 模式 421
21.2.1 模式給我們帶來了什么 422
21.2.2 模式和設計原則 422
21.3 實踐 424
21.3.1 測試 424
21.3.2 文檔 424
21.3.3 版本控制 425
21.3.4 自動構建 425
21.3.5 持續(xù)集成 425
21.3.6 我們還遺漏了什么 425
21.4 小結 426
第六部分 附 錄
附錄A 參考文獻 428
附錄B 簡單的解析器 431
深入PHP面向對象模式與實踐(第三版)簡介
該書是PHP專家贊德斯經典力作的最新版本。書中主要介紹了如何使用面向對象技術和設計模式編寫穩(wěn)定的、可維護的代碼,如何使用Subversion管理多個開發(fā)人員,如何使用Phing和PEAR進行構建和安裝,以及將構建和測試過程自動化的策略,包括持續(xù)集成。
《深入PHP:面向對象、模式與實踐(第3版)》適合中高級PHP程序員閱讀。
深入PHP面向對象模式與實踐(第三版)內容截圖
- PC官方版
- 安卓官方手機版
- IOS官方手機版