PHP精粹

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

內(nèi)容概要

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

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

作者簡(jiǎn)介

Lorna Mitchell

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

資深LAMP技術(shù)專家,精通PHP,在HTML、CSS、JavaScript等Web相關(guān)技術(shù)領(lǐng)域也積累了十分豐富的經(jīng)驗(yàn)。他還是一位經(jīng)驗(yàn)豐富的技術(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)驗(yàn),是PHP 5和Zend
Framework的Zend認(rèn)證工程師。他是Zend Framework、
PHPUnit和Phergie等PHP開源項(xiàng)目的參與者,為這些項(xiàng)目撰寫了大量文章。他還是一位經(jīng)驗(yàn)豐富的技術(shù)作家,不僅撰寫了《PHP
Architect’s Guide to Web Scraping with PHP》等著作,而且還在《PHP
Architect》等雜志上發(fā)表了大量文章。

書籍目錄

目錄
譯者序
前 言
第1章 面向?qū)ο缶幊?
1.1 為什么要使用面向?qū)ο缶幊?
1.2 OOP簡(jiǎn)介1
1.2.1 聲明類1
1.2.2 類的構(gòu)造2
1.2.3 對(duì)象實(shí)例化3
1.2.4 自動(dòng)加載3
1.2.5 使用對(duì)象4
1.2.6 使用靜態(tài)屬性和方法4
1.2.7 對(duì)象和命名空間5
1.3 對(duì)象的繼承7
1.4 對(duì)象和函數(shù)9
1.4.1 類型提示9
1.4.2 多態(tài)性9
1.4.3 對(duì)象和引用10
1.4.4 作為函數(shù)參數(shù)傳遞的對(duì)象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 計(jì)數(shù)對(duì)象16
1.6.3 聲明和使用接口17
1.6.4 識(shí)別對(duì)象和接口17
1.7 異常18
1.7.1 處理異常18
1.7.2 為什么要處理異常19
1.7.3 拋出異常19
1.7.4 擴(kuò)展異常19
1.7.5 捕捉特定類型的異常20
1.7.6 設(shè)定一個(gè)全局異常處理程序21
1.7.7 使用回調(diào)22
1.8 更多神奇的方法22
1.8.1 使用__call()和__callStatic()方法22
1.8.2 使用__toString()方法輸出對(duì)象23
1.8.3 序列化對(duì)象24
1.9 本章小結(jié)25
第2章 數(shù)據(jù)庫26
2.1 數(shù)據(jù)持久化和Web應(yīng)用程序26
2.2 選擇如何存儲(chǔ)數(shù)據(jù)26
2.3 用MySQL建立一個(gè)食譜網(wǎng)站27
2.4 PHP數(shù)據(jù)庫對(duì)象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中的錯(cuò)誤35
2.5.1 處理預(yù)處理時(shí)的問題36
2.5.2 處理執(zhí)行時(shí)的問題36
2.5.3 處理提取數(shù)據(jù)時(shí)的問題37
2.6 高級(jí)PDO特征37
2.6.1 事務(wù)和PDO38
2.6.2 存儲(chǔ)過程和PDO39
2.7 設(shè)計(jì)數(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請(qǐng)求54
3.4.3 HTTP狀態(tài)碼57
3.4.4 HTTP文件頭58
3.4.5 HTTP動(dòng)詞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 使用一個(gè)RPC服務(wù):Flickr示例66
3.7.2 建立一個(gè)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 建立一個(gè)RESTful服務(wù)76
3.10 設(shè)計(jì)一個(gè)Web服務(wù)82
3.11 提供的服務(wù)83
第4章 設(shè)計(jì)模式84
4.1 什么是設(shè)計(jì)模式84
4.1.1 選擇一個(gè)最合適的84
4.1.2 單例模式84
4.1.3 Traits86
4.1.4 注冊(cè)表模式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 修復(fù)118
5.3.3 在線資源119
5.4 偽造跨站請(qǐng)求119
5.4.1 攻擊119
5.4.2 修復(fù)120
5.4.3 在線資源121
5.5 會(huì)話固定122
5.5.1 攻擊122
5.5.2 修復(fù)122
5.5.3 在線資源123
5.6 會(huì)話劫持123
5.6.1 攻擊123
5.6.2 修復(fù)124
5.6.3 在線資源125
5.7 SQL注入125
5.7.1 攻擊125
5.7.2 修復(fù)126
5.7.3 在線資源127
5.8 儲(chǔ)存密碼127
5.8.1 攻擊127
5.8.2 修復(fù)127
5.8.3 在線資源128
5.9 暴力破解攻擊129
5.9.1 攻擊129
5.9.2 修復(fù)130
5.9.3 在線資源131
5.10 SSL131
5.10.1 攻擊131
5.10.2 修復(fù)132
5.10.3 在線資源132
5.11 資源132
第6章 性能134
6.1 基準(zhǔn)測(cè)試134
6.2 系統(tǒng)測(cè)試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章 自動(dòng)測(cè)試163
7.1 單元測(cè)試163
7.1.1 安裝PHPUnit163
7.1.2 編寫測(cè)試用例163
7.1.3 運(yùn)行測(cè)試165
7.1.4 測(cè)試替身167
7.1.5 編寫可測(cè)試的代碼170
7.1.6 測(cè)試視圖和控制器173
7.2 數(shù)據(jù)庫測(cè)試177
7.2.1 數(shù)據(jù)庫測(cè)試用例177
7.2.2 連接178
7.2.3 數(shù)據(jù)集178
7.2.4 斷言180
7.3 系統(tǒng)測(cè)試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 自動(dòng)編寫測(cè)試187
7.4 負(fù)載測(cè)試187
7.4.1 ab187
7.4.2 Siege188
7.5 本章小結(jié)189
第8章 質(zhì)量保證190
8.1 使用靜態(tài)分析工具測(cè)量質(zhì)量190
8.1.1 phploc190
8.1.2 phpcpd191
8.1.3 phpmd192
8.2 編碼標(biāo)準(zhǔn)193
8.2.1 使用PHP代碼探測(cè)器檢查編碼標(biāo)準(zhǔn)193
8.2.2 查看違反編碼標(biāo)準(zhǔn)的地方195
8.2.3 PHP代碼探測(cè)器標(biāo)準(zhǔn)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è)計(jì)版本庫的結(jié)構(gòu)202
8.4.4 分布式的版本控制204
8.4.5 代碼的社會(huì)性工具205
8.4.6 使用Git進(jìn)行源代碼控制206
8.4.7 將版本庫作為構(gòu)建過程的根207
8.5 自動(dòng)部署207
8.5.1 立刻切換到一個(gè)新版本208
8.5.2 管理數(shù)據(jù)庫變更208
8.5.3 自動(dòng)部署和Phing209
8.6 準(zhǔn)備部署211
附錄A PEAR和PECL212
附錄B PHP標(biāo)準(zhǔn)庫229
附錄C 進(jìn)一步參考信息236

編輯推薦

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

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    PHP精粹 PDF格式下載


用戶評(píng)論 (總計(jì)37條)

 
 

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

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7