PHP精粹

出版時間:2012-11-1  出版社:機械工業(yè)出版社  作者:Lorna Mitchell,Davey Shafik,Matthew Turland  頁數(shù):238  譯者:彭沖,胡琳  
Tag標簽:無  

內(nèi)容概要

本書是資深PHP技術(shù)專家多年工作經(jīng)驗的結(jié)晶,從數(shù)據(jù)庫、API、設(shè)計模式、安全性、應(yīng)用程序性能、自動化測試、質(zhì)量保證等核心方面總結(jié)了編寫高效PHP代碼的技巧和最佳實踐,旨在讓有一定基礎(chǔ)的PHP開發(fā)者在進階修煉的路上盡可能少走彎路!全書包含大量精心設(shè)計的示例,不僅能幫助讀者理解具體的技術(shù)知識,而且能讓讀者學到作者解決各種問題的思路,授人以魚同時授人以漁。

本書共8章,每章一個主題:第1章重新闡述了面向?qū)ο缶幊讨械暮诵母拍詈图夹g(shù),目的是確?;A(chǔ)知識匱乏的開發(fā)者能正確理解它們;第2章總結(jié)了PHP開發(fā)中與數(shù)據(jù)庫相關(guān)的各種最佳實踐,如數(shù)據(jù)持久化、數(shù)據(jù)存儲、MySQL使用方法、PDO,以及數(shù)據(jù)庫的設(shè)計等;第3章詳細講解了API及其使用方式;第4章總結(jié)了PHP開發(fā)中常用的各種設(shè)計模式及其使用原則;第5章講解了如何編寫安全的PHP代碼,對PHP開發(fā)中各種常見的安全問題進行了總結(jié)和分析;第6章從基準測試、系統(tǒng)測試、數(shù)據(jù)庫、文件系統(tǒng)等方面探討了PHP應(yīng)用程序的性能問題;第7章講解了PHP的自動化測試,包含單元測試、數(shù)據(jù)庫測試、負載均衡測試等;第8章總結(jié)了PHP開發(fā)中與質(zhì)量保證相關(guān)的最佳實踐,包括質(zhì)量測量、編碼標準、源代碼管理、自動部署等。除此之外,本書還對PEAR、PECL,以及PHP標準庫進行了講解。

作者簡介

Lorna Mitchell

資深PHP技術(shù)專家,常駐英國利茲的PHP顧問,從事軟件開發(fā)相關(guān)工作多年,尤其擅長與數(shù)據(jù)和API相關(guān)的知識?;钴S于PHP社區(qū),是美國西北部PHP技術(shù)社群的組織者,曾組織過多次社團會議并發(fā)表演講,是開源項目Joind.in的領(lǐng)導者。她還是一位技術(shù)作家,熱衷于分享自己的經(jīng)驗,經(jīng)常在多種流行雜志和網(wǎng)站上發(fā)表技術(shù)文章。
Davey Shafik

資深LAMP技術(shù)專家,精通PHP,在HTML、CSS、JavaScript等Web相關(guān)技術(shù)領(lǐng)域也積累了十分豐富的經(jīng)驗。他還是一位經(jīng)驗豐富的技術(shù)作家,不僅發(fā)表了大量的技術(shù)文章,而且著有《The
PHP Anthology: 101 Essential Tips, Tricks & Hacks》和《PHP
Architect’s Zend PHP 5 Certification Study Guide》等著作。
Matthew Turland
資深PHP技術(shù)專家,有近10年P(guān)HP開發(fā)經(jīng)驗,是PHP 5和Zend
Framework的Zend認證工程師。他是Zend Framework、
PHPUnit和Phergie等PHP開源項目的參與者,為這些項目撰寫了大量文章。他還是一位經(jīng)驗豐富的技術(shù)作家,不僅撰寫了《PHP
Architect’s Guide to Web Scraping with PHP》等著作,而且還在《PHP
Architect》等雜志上發(fā)表了大量文章。

書籍目錄

目錄
譯者序
前 言
第1章 面向?qū)ο缶幊?
1.1 為什么要使用面向?qū)ο缶幊?
1.2 OOP簡介1
1.2.1 聲明類1
1.2.2 類的構(gòu)造2
1.2.3 對象實例化3
1.2.4 自動加載3
1.2.5 使用對象4
1.2.6 使用靜態(tài)屬性和方法4
1.2.7 對象和命名空間5
1.3 對象的繼承7
1.4 對象和函數(shù)9
1.4.1 類型提示9
1.4.2 多態(tài)性9
1.4.3 對象和引用10
1.4.4 作為函數(shù)參數(shù)傳遞的對象11
1.4.5 流暢的接口12
1.5 public、private以及protected12
1.5.1 public13
1.5.2 private13
1.5.3 protected13
1.5.4 選擇正確的可見性14
1.5.5 使用getter和setter來控制可見性14
1.5.6 使用神奇的_get和_set方法15
1.6 接口16
1.6.1 SPL Countable接口示例16
1.6.2 計數(shù)對象16
1.6.3 聲明和使用接口17
1.6.4 識別對象和接口17
1.7 異常18
1.7.1 處理異常18
1.7.2 為什么要處理異常19
1.7.3 拋出異常19
1.7.4 擴展異常19
1.7.5 捕捉特定類型的異常20
1.7.6 設(shè)定一個全局異常處理程序21
1.7.7 使用回調(diào)22
1.8 更多神奇的方法22
1.8.1 使用__call()和__callStatic()方法22
1.8.2 使用__toString()方法輸出對象23
1.8.3 序列化對象24
1.9 本章小結(jié)25
第2章 數(shù)據(jù)庫26
2.1 數(shù)據(jù)持久化和Web應(yīng)用程序26
2.2 選擇如何存儲數(shù)據(jù)26
2.3 用MySQL建立一個食譜網(wǎng)站27
2.4 PHP數(shù)據(jù)庫對象29
2.4.1 使用PDO連接到MySQL29
2.4.2 從表中選擇數(shù)據(jù)30
2.4.3 數(shù)據(jù)提取模式30
2.4.4 參數(shù)和預(yù)處理語句31
2.4.5 綁定值和預(yù)處理語句的變量32
2.4.6 插入一行并獲取ID34
2.4.7 有多少行被插入、更新或刪除34
2.4.8 刪除數(shù)據(jù)35
2.5 處理PDO中的錯誤35
2.5.1 處理預(yù)處理時的問題36
2.5.2 處理執(zhí)行時的問題36
2.5.3 處理提取數(shù)據(jù)時的問題37
2.6 高級PDO特征37
2.6.1 事務(wù)和PDO38
2.6.2 存儲過程和PDO39
2.7 設(shè)計數(shù)據(jù)庫39
2.7.1 主鍵與索引40
2.7.2 MySQL解析40
2.7.3 內(nèi)部連接43
2.7.4 外部連接43
2.7.5 聚合函數(shù)和Group By44
2.7.6 規(guī)格化數(shù)據(jù)46
2.8 數(shù)據(jù)庫—排序46
第3章 API47
3.1 開始之前47
3.1.1 使用API工具47
3.1.2 添加API到你的系統(tǒng)47
3.2 面向服務(wù)的架構(gòu)47
3.3 數(shù)據(jù)格式48
3.3.1 使用JSON49
3.3.2 使用XML50
3.4 HTTP:超文本傳輸協(xié)議53
3.4.1 HTTP信封53
3.4.2 發(fā)送HTTP請求54
3.4.3 HTTP狀態(tài)碼57
3.4.4 HTTP文件頭58
3.4.5 HTTP動詞61
3.5 理解并選擇服務(wù)類型61
3.5.1 PHP和SOAP62
3.5.2 使用WSDL描述SOAP服務(wù)63
3.6 調(diào)試HTTP65
3.6.1 使用日志收集信息65
3.6.2 檢查HTTP流量65
3.7 RPC服務(wù)66
3.7.1 使用一個RPC服務(wù):Flickr示例66
3.7.2 建立一個RPC服務(wù)68
3.8 Ajax和Web服務(wù)69
3.9 開發(fā)和使用RESTful服務(wù)75
3.9.1 超越Pretty URL75
3.9.2 RESTful原則76
3.9.3 建立一個RESTful服務(wù)76
3.10 設(shè)計一個Web服務(wù)82
3.11 提供的服務(wù)83
第4章 設(shè)計模式84
4.1 什么是設(shè)計模式84
4.1.1 選擇一個最合適的84
4.1.2 單例模式84
4.1.3 Traits86
4.1.4 注冊表模式87
4.1.5 工廠模式90
4.1.6 迭代模式91
4.1.7 觀察者模式98
4.1.8 依賴注入101
4.1.9 模型–視圖–控制器104
4.2 模式的形成114
第5章 安全性115
5.1 是否有些偏執(zhí)115
5.2 過濾輸入、避免輸出116
5.3 跨站腳本117
5.3.1 攻擊117
5.3.2 修復118
5.3.3 在線資源119
5.4 偽造跨站請求119
5.4.1 攻擊119
5.4.2 修復120
5.4.3 在線資源121
5.5 會話固定122
5.5.1 攻擊122
5.5.2 修復122
5.5.3 在線資源123
5.6 會話劫持123
5.6.1 攻擊123
5.6.2 修復124
5.6.3 在線資源125
5.7 SQL注入125
5.7.1 攻擊125
5.7.2 修復126
5.7.3 在線資源127
5.8 儲存密碼127
5.8.1 攻擊127
5.8.2 修復127
5.8.3 在線資源128
5.9 暴力破解攻擊129
5.9.1 攻擊129
5.9.2 修復130
5.9.3 在線資源131
5.10 SSL131
5.10.1 攻擊131
5.10.2 修復132
5.10.3 在線資源132
5.11 資源132
第6章 性能134
6.1 基準測試134
6.2 系統(tǒng)測試139
6.2.1 代碼緩存139
6.2.2 INI設(shè)置143
6.3 數(shù)據(jù)庫144
6.4 文件系統(tǒng)144
6.5 程序概要分析151
6.5.1 安裝XHProf152
6.5.2 安裝XHGui155
6.6 本章小結(jié)161
第7章 自動測試163
7.1 單元測試163
7.1.1 安裝PHPUnit163
7.1.2 編寫測試用例163
7.1.3 運行測試165
7.1.4 測試替身167
7.1.5 編寫可測試的代碼170
7.1.6 測試視圖和控制器173
7.2 數(shù)據(jù)庫測試177
7.2.1 數(shù)據(jù)庫測試用例177
7.2.2 連接178
7.2.3 數(shù)據(jù)集178
7.2.4 斷言180
7.3 系統(tǒng)測試181
7.3.1 初始設(shè)置181
7.3.2 命令182
7.3.3 定位器183
7.3.4 斷言184
7.3.5 數(shù)據(jù)庫集成184
7.3.6 調(diào)試186
7.3.7 自動編寫測試187
7.4 負載測試187
7.4.1 ab187
7.4.2 Siege188
7.5 本章小結(jié)189
第8章 質(zhì)量保證190
8.1 使用靜態(tài)分析工具測量質(zhì)量190
8.1.1 phploc190
8.1.2 phpcpd191
8.1.3 phpmd192
8.2 編碼標準193
8.2.1 使用PHP代碼探測器檢查編碼標準193
8.2.2 查看違反編碼標準的地方195
8.2.3 PHP代碼探測器標準196
8.3 文檔和代碼196
8.3.1 使用phpDocumentor197
8.3.2 其他文檔工具199
8.4 源代碼管理199
8.4.1 使用集中式版本控制200
8.4.2 為了源代碼管理使用版本控制201
8.4.3 設(shè)計版本庫的結(jié)構(gòu)202
8.4.4 分布式的版本控制204
8.4.5 代碼的社會性工具205
8.4.6 使用Git進行源代碼控制206
8.4.7 將版本庫作為構(gòu)建過程的根207
8.5 自動部署207
8.5.1 立刻切換到一個新版本208
8.5.2 管理數(shù)據(jù)庫變更208
8.5.3 自動部署和Phing209
8.6 準備部署211
附錄A PEAR和PECL212
附錄B PHP標準庫229
附錄C 進一步參考信息236

編輯推薦

  《華章程序員書庫·PHP精粹:編寫高效PHP代碼》與市面上已有的其他同類書區(qū)別在于,它并沒有系統(tǒng)地講解PHP開發(fā)的所有知識點,而是選取了數(shù)據(jù)庫、API、設(shè)計模式、安全性、應(yīng)用程序性能、自動化測試、質(zhì)量保證等專題知識來深入剖析和講解,這些知識是正在進階路上的PHP程序員需要重點掌握的。作者把自己多年在實際開發(fā)中總結(jié)出來的經(jīng)驗和最佳實踐都融入了這本書,旨在讓想提高開發(fā)水平的PHP工程師在學習和工作中少走彎路,能為他們編寫高效的PHP代碼提供有效的指導!

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    PHP精粹 PDF格式下載


用戶評論 (總計37條)

 
 

  •   和《PHP核心技術(shù)與最佳實踐》一起學習
  •   PHP的實用技能,對掌握良好的PHP編程技能很有幫助。
  •   內(nèi)容不錯,適合有一定php基礎(chǔ)的
  •   不錯的,有進階需求的工程師值得一看。書不厚,很快就可以看完,受益匪淺!
  •   書不錯技術(shù)到位
  •   這本書的設(shè)計模式有點看的價值
  •   偏理論。。還是要有點經(jīng)驗的才能吸收。。
  •   書包裝的很好,內(nèi)容涉及的很廣泛,大致翻了一下,還是很滿意的;適合有一定編程基礎(chǔ)的人員學習使用
  •   挺不錯,有很多需要注意的地方和編程技巧。
  •   不錯 希望對編程有幫助
  •   需要仔細慢慢看看,內(nèi)容比較豐富
  •   這本書也很緊湊,沒有什么廢話,不錯的一本書,不像有的書,前面很多是基礎(chǔ),吭哧到后面,沒啥內(nèi)容
  •   沒有看完,真在閱讀中...
  •   寫得不錯,個人覺得還蠻有用的。
  •   我就需要這樣也有點難度的書
  •   good,還可以,送貨比較快,書也很不錯
  •   書還沒來得及看,這個是別人推薦的,應(yīng)該不錯
  •   還沒看多少,確實是本好書
  •   公司要買的工具書 既然是指明要買 應(yīng)該有其好處。。。
  •   隨手翻閱了下,內(nèi)容不錯.印刷挺清晰.
  •   剛到手。翻翻看了看。內(nèi)容還是比較不錯的。準備啃。。
  •   就是我要的那種書
  •   想要像一個高級程序猿一樣思考問題,本書只是給了一個大概的方向。php更高級的思想,所謂開發(fā)模式和流程,其實跟php這門語言沒太多關(guān)系,何況多數(shù)也借鑒于java。題目中所謂高效代碼,無非是開發(fā)的高效,而非本身代碼的高效。
  •   不錯,度過了新手階段,讀此書很適合,讓你更了解php的高級特性。定位很準。
  •   一般的書,沒有想象的好,標題不錯,具體講解有點泛,希望看到后面有驚喜吧!
  •   印刷質(zhì)量不錯 正版的 很好
  •   拋開基礎(chǔ),重點講的不是很精細,不過也還是不錯的。
  •   在這本書中學到很多東西啦
  •   的確如書名一樣 但感覺不厚哦
  •   東西到了很久了,忘記評論了,哈哈,很不錯的書
  •   還沒看內(nèi)容呢,不過質(zhì)量還行。
  •   還沒來得級看,質(zhì)量不錯
  •   內(nèi)容泛泛,都是點到即止,虎頭蛇尾
  •   幫同學買的,書太薄,還要這么貴
  •   不是說本書差,**。而是是否與你合適,得體,翻譯的書本來讀起來就晦澀。本書又是進階書籍,讀起來更是難懂。請慎重考慮吧,我發(fā)到差評就是想讓你看到。雖然此書并不是太差,只是我本事不夠,看不懂。
  •   講的東西不細,翻譯的也不好,更像文摘,不像系統(tǒng)些的讀物,入手有風險,支付需謹慎,強烈不推薦。
  •   書只是內(nèi)容廣一點,深度什么的有點缺乏了,價格相對抬高,性價比太低了。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7