PHP深度分析:101個(gè)核心技巧、竅門和問(wèn)題解決方法

-
【作 者】[美]DAVEY SHAFIK 等
【I S B N 】978-7-5084-6989-8
【責(zé)任編輯】李炎
【適用讀者群】科技
【出版時(shí)間】2010-01-01
【開(kāi) 本】16開(kāi)本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁(yè) 數(shù)】
【千字?jǐn)?shù)】
【印 張】
【定 價(jià)】¥45
【叢 書(shū)】暫無(wú)分類
【備注信息】
簡(jiǎn)介
本書(shū)特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書(shū)
本書(shū)作者為活躍在PHP開(kāi)發(fā)一線、具有豐富PHP開(kāi)發(fā)經(jīng)驗(yàn)的專家,他們把實(shí)踐中積累的大量經(jīng)驗(yàn)技巧和有針對(duì)性的問(wèn)題的解決方案,結(jié)合SitePoint論壇上的一些常見(jiàn)問(wèn)題的解決方案編寫(xiě)了本書(shū)。本書(shū)采用大量實(shí)際案例進(jìn)行深入分析講解,非常有利于讀者的學(xué)習(xí)理解。本書(shū)基本涵蓋了Web開(kāi)發(fā)中常見(jiàn)的問(wèn)題,讀者可以直接進(jìn)入到關(guān)注的主題進(jìn)行學(xué)習(xí)。內(nèi)容涵蓋使用PDO訪問(wèn)數(shù)據(jù)庫(kù),字符串,日期和時(shí)間,表單、表格和漂亮整潔的URL,文件操作、電子郵件、圖像、錯(cuò)誤處理、訪問(wèn)控制、緩存、XML和Web service。
為了輔助本書(shū)的學(xué)習(xí),作者還建立了一個(gè)Web站點(diǎn),提供代碼和更新等資源支持,網(wǎng)址為http://www.sitepoint.com/books/phpant2/,書(shū)中的大量腳注也提供了有用資源的參考。
本書(shū)適用于具有一定PHP開(kāi)發(fā)經(jīng)驗(yàn)的初學(xué)人員,對(duì)于那些希望改善Web應(yīng)用程序或提高技術(shù)水平的資深開(kāi)發(fā)人員也有很高的參考價(jià)值。
Copyright © China WaterPower Press(2009) Authorized translation of the English edition of The PHP Anthology 2nd edition (ISBN 9780975841990) © 2007 SitePoint Pty.Ltd.
This translation id published and sold by permission of O’Reilly Media, Inc., the owner of all rights to publish and sell the same.
北京市版權(quán)局著作權(quán)合同登記號(hào):圖字01-2008-5977
關(guān)于PHP最偉大的一個(gè)方面就是其充滿活力的社區(qū)。開(kāi)發(fā)人員享有許多在線會(huì)面的機(jī)會(huì),包括SitePoint論壇 ,在這里開(kāi)發(fā)人員可以相互幫助解決他們?cè)谌粘9ぷ髦杏龅降膯?wèn)題,包括從最基礎(chǔ)的PHP如何工作到解決像“如何驗(yàn)證一個(gè)表單?”這類設(shè)計(jì)問(wèn)題。作為一種獲得幫助的方法,這些社區(qū)做得非常出色。它們包含了保證項(xiàng)目成功所需要的各種重要內(nèi)容。但是將所有這些知識(shí)組合在一起應(yīng)用于您的特定情況卻是一個(gè)挑戰(zhàn)。社區(qū)成員通常會(huì)假定其他文章的發(fā)布者具有一定程度的知識(shí),您可能經(jīng)常需要花費(fèi)大量時(shí)間從各種文章、帖子和用戶(每個(gè)用戶具有不同的編程風(fēng)格)那里抽取一些代碼片段拼湊起來(lái)形成一個(gè)完整的圖像。
《PHP深度分析:101個(gè)核心技巧、竅門和問(wèn)題解決方法》(原書(shū)第二版)首次匯集了定期發(fā)布在SitePoint論壇上的常見(jiàn)PHP問(wèn)題的最佳解決方案,并結(jié)合了作者們從其多年P(guān)HP使用中獲得的經(jīng)驗(yàn)和感悟。
本書(shū)區(qū)別于其他PHP圖書(shū)的地方在于其未采用指南的形式,而是將重點(diǎn)放到怎樣以最少精力獲得實(shí)際結(jié)果上。為了達(dá)到這種結(jié)果,您不必逐頁(yè)閱讀本書(shū),而是采用“即插即用”的方式使用本書(shū)中提供的解決方案。為了幫助讀者更好地使用本書(shū),每個(gè)部分都采用了一致的“問(wèn)題-解決方案”的方式。可以快速瀏覽一下目錄,直接跳轉(zhuǎn)到針對(duì)您問(wèn)題的解決方案。
也就是說(shuō),有一個(gè)隱藏的議題貫穿于本書(shū)中所有討論。除了解決方案,本書(shū)還將為您介紹一些能夠節(jié)省精力的技巧,幫助您減少完成和維護(hù)基于Web的PHP應(yīng)用的時(shí)間。
PHP最早被認(rèn)為是一種過(guò)程化編程語(yǔ)言,但是近些年其已經(jīng)逐漸被證明為一種面向?qū)ο蠼鉀Q方案的開(kāi)發(fā)語(yǔ)言。隨著PHP 5的發(fā)布,PHP進(jìn)行了全面重新編寫(xiě),增加了更多面向?qū)ο竽P烷_(kāi)發(fā)的能力。2007年7月13日,PHP開(kāi)發(fā)團(tuán)隊(duì)宣布PHP 4終止,從而更加強(qiáng)了PHP 5的開(kāi)發(fā)。
很多PHP開(kāi)發(fā)人員對(duì)面向?qū)ο蟮拈_(kāi)發(fā)感到恐慌,這些范例也通常被認(rèn)為只有大師級(jí)的人員才能掌握。通過(guò)本書(shū),您會(huì)發(fā)現(xiàn),掌握目前PHP 5中的面向?qū)ο筇匦院皖悗?kù)根本不需要擁有計(jì)算機(jī)學(xué)位。
PHP擴(kuò)展和應(yīng)用庫(kù)(PHP Extension and Application Repository,簡(jiǎn)稱PEAR )為世界各地PHP開(kāi)發(fā)人員通常面臨的架構(gòu)問(wèn)題(例如Web表單生成和驗(yàn)證)提供了一種可重用和易于維護(hù)的解決方案集,并且處于不斷的發(fā)展中。在本書(shū)提供的解決方案的開(kāi)發(fā)中,我們采用了本書(shū)作者找到的可供自由使用的庫(kù),這曾為他們節(jié)省了很多開(kāi)發(fā)時(shí)間。
本書(shū)區(qū)別于當(dāng)前很多的PHP圖書(shū),將重點(diǎn)放在利用可重用組件建立PHP Web應(yīng)用程序上。盡管本書(shū)沒(méi)有太多關(guān)于面向?qū)ο笤O(shè)計(jì)的擴(kuò)展討論,但本書(shū)會(huì)潛移默化地幫助您將PHP編碼技能提高到一個(gè)新的水平,逐漸能夠創(chuàng)建經(jīng)得起時(shí)間考驗(yàn)的應(yīng)用程序。
《PHP深度分析:101個(gè)核心技巧、竅門和問(wèn)題解決方法》(原書(shū)第二版)將會(huì)使你掌握使用PHP引擎進(jìn)行開(kāi)發(fā)所應(yīng)具有的核心技巧,包括對(duì)于PHP面向?qū)ο箝_(kāi)發(fā)的快速入門知識(shí)(參閱第1章“什么是面向?qū)ο?rdquo;)。在進(jìn)行了特別的準(zhǔn)備之后,本書(shū)將著眼于能應(yīng)用于幾乎所有基于PHP的Web應(yīng)用程序的解決方案上,可能您已經(jīng)知道這些解決方案,但是還沒(méi)有完全掌握。
誰(shuí)應(yīng)該閱讀本書(shū)?
如果曾經(jīng)使用過(guò)PHP,而且可能已經(jīng)閱讀過(guò)Kevin Yank的《使用PHP》和《MySQL創(chuàng)建自己的數(shù)據(jù)庫(kù)驅(qū)動(dòng)Web站點(diǎn)》(第三版)(SitePoint,墨爾本,ISBN 0-9752402-1-8),并已經(jīng)使用PHP完成了一或兩個(gè)項(xiàng)目,那么本書(shū)會(huì)非常適合您。
如果曾經(jīng)對(duì)于“如何驗(yàn)證Web頁(yè)面表單?”、“如何向照片中增加水印?”或“如何從Web應(yīng)用程序中自動(dòng)發(fā)送電子郵 件?”等問(wèn)題存有疑問(wèn),那么會(huì)在本書(shū)中找到這些問(wèn)題的答案。如果希望通過(guò)可重用組件、緩沖性能或Web服務(wù)來(lái)改善Web應(yīng)用程序或提高技術(shù)水平,那么您會(huì)發(fā)現(xiàn)本書(shū)是一個(gè)絕佳的選擇。
本書(shū)包括哪些內(nèi)容?
本書(shū)包括以下章節(jié)的內(nèi)容:
第1章 概述
本章介紹通過(guò)PHP手冊(cè)和其他資源來(lái)獲取幫助的方法。包括對(duì)于面向?qū)ο缶幊痰慕榻B:PHP類語(yǔ)法的概要介紹,以及面向?qū)ο笕绾螒?yīng)用于PHP。這部分是對(duì)后面章節(jié)的準(zhǔn)備內(nèi)容。本章還介紹了可移植代碼的編寫(xiě)技巧,并且有機(jī)會(huì)了解一些主要的PHP配置陷阱。
第2章 使用PDO訪問(wèn)數(shù)據(jù)庫(kù)
本章介紹了所有與PHP數(shù)據(jù)對(duì)象(PDO)擴(kuò)展相關(guān)的知識(shí)。本章從基礎(chǔ)知識(shí)開(kāi)始介紹,覆蓋了像如何編寫(xiě)靈活的SQL語(yǔ)句和避免SQL注入攻擊等重要主題。之后對(duì)于一些較少人了解的方面進(jìn)行了深入探討,例如搜索、事務(wù)處理和存儲(chǔ)過(guò)程、數(shù)據(jù)庫(kù)備份等。
第3章 字符串
本章探討處理站點(diǎn)內(nèi)容的詳細(xì)方法。我們將通過(guò)驗(yàn)證和過(guò)濾用戶提交內(nèi)容的過(guò)程,學(xué)習(xí)不可或缺的字符串函數(shù)。
第4章 日期和時(shí)間
通過(guò)本章,您將了解如何使用PHP的日期函數(shù),并將實(shí)現(xiàn)一個(gè)在線日歷。您也將會(huì)為在MySQL中的日期存儲(chǔ)和操作方面打下堅(jiān)實(shí)的基礎(chǔ)。
第5章 表單、表格和漂亮整潔的URL
本章包括Web頁(yè)面表單和表格的核心內(nèi)容。我們將討論使用PEAR:HTML_QuickForm進(jìn)行表單開(kāi)發(fā),還會(huì)了解到如何使用PEAR:HTML_Table實(shí)現(xiàn)數(shù)據(jù)表格和頁(yè)面結(jié)果集。我們還會(huì)討論一些用于Apache的生成搜索引擎友好的URL的技巧。
第6章 文件操作
本章是PHP文件操作的“生存指南”。在本章中,我們將探討從訪問(wèn)本地文件系統(tǒng)到使用PHP的FTP客戶端獲取網(wǎng)絡(luò)文件等所有內(nèi)容。我們將會(huì)繼續(xù)學(xué)習(xí)如何使用PEAR:Archive_Tar創(chuàng)建壓縮文件,并簡(jiǎn)略學(xué)習(xí)標(biāo)準(zhǔn)PHP庫(kù)的使用。
第7章 電子郵件
在本章中,我們將特別學(xué)習(xí)電子郵件相關(guān)的解決方案,展現(xiàn)如何全面利用PHP電子郵件方面的功能。我們將會(huì)學(xué)習(xí)到借助于PEAR:Mail和PEAR:Mail_Mime成功發(fā)送HTML格式的電子郵件和附件,以及使用PHP輕松處理發(fā)送到Web服務(wù)器的電子郵件。
第8章 圖像
本章探討縮略圖的創(chuàng)建,并解釋如何為站點(diǎn)中的圖像增加水印。我們將討論如何阻止來(lái)自其他站點(diǎn)的盜鏈、使用Exif數(shù)據(jù)創(chuàng)建圖像庫(kù)系統(tǒng)、使用JpGraph產(chǎn)生一些專業(yè)圖表——也就是CAPTCHA圖。
第9章 錯(cuò)誤處理
在本章中,您將會(huì)理解PHP的錯(cuò)誤報(bào)告機(jī)制,如何利用PHP的自定義錯(cuò)誤處理功能,以及如何恰當(dāng)?shù)靥幚礤e(cuò)誤,本章重點(diǎn)放在異常處理和自定義異常上。
第10章 訪問(wèn)控制
本章介紹控制站點(diǎn)訪問(wèn)的方法,從基本的HTTP驗(yàn)證開(kāi)始,然后過(guò)渡到應(yīng)用程序?qū)哟蔚尿?yàn)證。之后的解決方案將實(shí)現(xiàn)一個(gè)用戶注冊(cè)系統(tǒng),并創(chuàng)建一套具有用戶、組和權(quán)限的細(xì)粒度訪問(wèn)控制系統(tǒng)。
第11章 緩存
本章介紹加速HTML的基本方法,并展示如何在客戶端和服務(wù)器端利用緩存技術(shù)減少帶寬使用以及大幅度提高性能。本章內(nèi)容包括HTTP頭、輸出緩存和使用PEAR:Cache_Lite等內(nèi)容。
第12章 XML和Web service
隨著XML迅速成為幾乎所有基于Web的應(yīng)用程序的重要部分,本章探討PHP 5豐富的XML功能。在這里,您會(huì)發(fā)現(xiàn)要生成和使用基于RSS,XML-RPC,SOAP和REST的Web service是多么簡(jiǎn)單。
第13章 最佳實(shí)踐
本章的目標(biāo)是介紹一些在促成項(xiàng)目開(kāi)發(fā)成功方面得到驗(yàn)證的技術(shù)。內(nèi)容包括代碼版本管理、如何編寫(xiě)可分布代碼、如何為您的作品增加API文檔、如何利用單元測(cè)試減少bug,以及如何安全部署代碼等。
前言
第1章 概述 1
1.1 從何處獲得幫助 1
1.2 什么是OOP 6
1.3 如何編寫(xiě)可移植的PHP代碼 22
1.4 小結(jié) 25
第2章 使用PDO訪問(wèn)數(shù)據(jù)庫(kù) 26
2.1 什么是PDO 27
2.2 如何訪問(wèn)數(shù)據(jù)庫(kù) 27
2.2.1 解決方案 27
2.2.2 討論 28
2.3 如何從表中獲取數(shù)據(jù) 30
2.3.1 解決方案 30
2.3.2 討論 32
2.4 如何解決SQL查詢中的錯(cuò)誤 33
2.4.1 解決方案 33
2.4.2 討論 35
2.5 如何向數(shù)據(jù)庫(kù)中添加或修改數(shù)據(jù) 35
2.5.1 解決方案 36
2.5.2 討論 37
2.6 如何保護(hù)Web站點(diǎn)免受SQL注入攻擊 37
2.6.1 解決方案 38
2.6.2 討論 39
2.7 如何創(chuàng)建靈活的SQL語(yǔ)句 39
2.7.1 解決方案 39
2.7.2 討論 40
2.8 如何獲得受影響的行數(shù) 41
2.9 如何獲得一個(gè)新插入行的自動(dòng)增加字段 43
2.9.1 解決方案 43
2.9.2 討論 44
2.10 如何搜索表 44
2.10.1 解決方案 44
2.10.2 討論 45
2.11 如何進(jìn)行事務(wù)處理 45
2.11.1 解決方案 45
2.11.2 討論 46
2.12 如何利用PDO使用存儲(chǔ)過(guò)程 46
2.12.1 解決方案 47
2.12.2 討論 48
2.13 如何備份數(shù)據(jù)庫(kù) 48
2.13.1 解決方案 48
2.13.2 討論 50
2.14 小結(jié) 53
第3章 字符串 54
3.1 如何安全地輸出字符串 55
3.2 如何保留格式 57
3.3 如何從文本中剝離HTML標(biāo)記 58
3.3.1 解決方案 58
3.3.2 討論 58
3.4 如何強(qiáng)制文本在一定數(shù)量的字符后折行顯示 59
3.5 如何執(zhí)行高級(jí)搜索和替換操作 59
3.6 如何將文本打散為行數(shù)組 60
3.6.1 解決方案 61
3.6.2 討論 61
3.7 如何從文本中移除空白內(nèi)容 62
3.8 如何輸出格式化文本 62
3.9 如何驗(yàn)證提交的數(shù)據(jù) 63
3.9.1 解決方案 63
3.9.2 討論 66
3.10 小結(jié) 66
第4章 日期和時(shí)間 67
4.1 如何使用UNIX時(shí)間戳 68
4.1.1 解決方案 68
4.1.2 討論 68
4.2 如何獲得當(dāng)前日期 69
4.2.1 解決方案 69
4.2.2 討論 69
4.3 如何知道是星期幾 70
4.4 如何獲得一個(gè)月份的天數(shù) 71
4.5 如何創(chuàng)建一個(gè)日歷 71
4.6 如何在MySQL中存儲(chǔ)日期 75
4.6.1 解決方案 76
4.6.2 討論 76
4.7 如何使用MySQL時(shí)間戳 76
4.8 如何使用MySQL執(zhí)行日期計(jì)算 78
4.9 小結(jié) 79
第5章 表單、表格和漂亮整潔的URL 80
5.1 如何使用PHP建立HTML表單 81
5.2 如何在表格中顯示數(shù)據(jù) 88
5.3 如何在排序表中顯示數(shù)據(jù) 90
5.4 如何創(chuàng)建自定義數(shù)據(jù)柵格 93
5.5 如何在PHP中建立“漂亮整潔的”URL 97
5.5.1 解決方案 97
5.5.2 討論 101
5.6 小結(jié) 101
第6章 文件操作 102
6.1 如何讀取本地文件 102
6.1.1 解決方案 103
6.1.2 討論 105
6.2 如何使用文件句柄 105
6.2.1 解決方案 105
6.2.2 討論 107
6.3 如何修改本地文件 107
6.3.1 解決方案 107
6.3.2 討論 108
6.4 如何訪問(wèn)本地文件的有關(guān)信息 108
6.4.1 解決方案 108
6.4.2 討論 110
6.5 如何使用PHP檢查目錄 111
6.6 如何在線顯示PHP源代碼 112
6.6.1 解決方案 112
6.6.2 討論 113
6.7 如何在文件中存儲(chǔ)配置信息 113
6.7.1 解決方案 113
6.7.2 討論 114
6.8 如何訪問(wèn)遠(yuǎn)程服務(wù)器上的文件 115
6.8.1 解決方案 115
6.8.2 討論 115
6.9 如何在PHP中使用FTP 116
6.9.1 解決方案 116
6.9.2 討論 118
6.10 如何使用PHP管理文件下載 118
6.10.1 解決方案 118
6.10.2 討論 119
6.11 如何使用PHP創(chuàng)建壓縮的ZIP/TAR文件 119
6.12 如何使用PHP 5中的標(biāo)準(zhǔn)PHP庫(kù)操作文件 121
6.12.1 解決方案 121
6.12.2 討論 122
6.13 小結(jié) 123
第7章 電子郵件 124
7.1 如何發(fā)送一封簡(jiǎn)單的電子郵件 124
7.1.1 解決方案 124
7.1.2 討論 125
7.2 如何簡(jiǎn)化復(fù)雜電子郵件的生成 126
7.2.1 解決方案 126
7.2.2 討論 127
7.3 如何為消息添加附件 127
7.3.1 解決方案 127
7.3.2 討論 128
7.4 如何發(fā)送HTML郵件 129
7.5 如何將消息郵寄至一組人員 130
7.5.1 解決方案 131
7.5.2 討論 132
7.6 如何使用PHP處理到達(dá)的郵件 132
7.6.1 解決方案 132
7.6.2 討論 133
7.7 如何保護(hù)站點(diǎn)免受電子郵件注入攻擊 134
7.7.1 解決方案 135
7.7.2 討論 135
7.8 小結(jié) 136
第8章 圖像 137
8.1 如何指定正確的圖像MIME類型 137
8.2 如何創(chuàng)建縮略圖 138
8.3 如何在不拉伸圖像的情況下調(diào)整其大小 140
8.4 如何構(gòu)建一個(gè)簡(jiǎn)單的縮略圖藝術(shù)庫(kù) 149
8.5 如何從圖像中提取EXIF信息 151
8.6 如何為圖像增加水印 153
8.7 如何使用PHP顯示圖表和圖形 155
8.7.1 解決方案 155
8.7.2 討論 161
8.8 如何防止圖像盜鏈 161
8.9 如何創(chuàng)建只能人工驗(yàn)證的圖像 163
8.9.1 解決方案 164
8.9.2 討論 164
8.10 小結(jié) 164
第9章 錯(cuò)誤處理 166
9.1 PHP報(bào)告哪些錯(cuò)誤級(jí)別 167
9.2 PHP為錯(cuò)誤處理提供哪些內(nèi)置設(shè)置 167
9.3 如何觸發(fā)PHP錯(cuò)誤 168
9.3.1 解決方案 168
9.3.2 討論 168
9.4 如何使用PHP實(shí)現(xiàn)自定義錯(cuò)誤處理器 169
9.4.1 解決方案 169
9.4.2 討論 172
9.5 如何記錄和報(bào)告錯(cuò)誤 172
9.6 如何使用PHP異常進(jìn)行錯(cuò)誤處理 173
9.6.1 解決方案 173
9.6.2 討論 174
9.7 如何創(chuàng)建一個(gè)自定義異常類 176
9.7.1 解決方案 176
9.7.2 討論 177
9.8 如何用PHP實(shí)現(xiàn)一個(gè)自定義異常處理器 180
9.8.1 解決方案 180
9.8.2 討論 180
9.9 如何像處理異常一樣處理PHP錯(cuò)誤 182
9.9.1 解決方案 182
9.9.2 討論 182
9.10 如何恰當(dāng)?shù)仫@示錯(cuò)誤和異常 182
9.10.1 解決方案 183
9.10.2 討論 185
9.11 如何在發(fā)生錯(cuò)誤時(shí)將用戶重定向到另一個(gè)頁(yè)面 185
9.11.1 解決方案 185
9.11.2 討論 187
9.12 小結(jié) 187
第10章 訪問(wèn)控制 188
10.1 如何使用HTTP認(rèn)證 189
10.1.1 解決方案 189
10.1.2 討論 191
10.2 如何使用會(huì)話 193
10.2.1 解決方案 194
10.2.2 討論 194
10.3 如何創(chuàng)建一個(gè)會(huì)話類 196
10.4 如何創(chuàng)建一個(gè)類來(lái)控制對(duì)站點(diǎn)部分的訪問(wèn) 197
10.4.1 解決方案 197
10.4.2 討論 206
10.5 如何建立一個(gè)注冊(cè)系統(tǒng) 207
10.5.1 解決方案 207
10.5.2 討論 223
10.6 如何處理那些忘記口令的成員 224
10.7 如何讓用戶更改他們的口令 233
10.7.1 解決方案 233
10.7.2 討論 238
10.8 如何建立一個(gè)權(quán)限系統(tǒng) 239
10.8.1 解決方案 239
10.8.2 討論 249
10.9 如何在數(shù)據(jù)庫(kù)中存儲(chǔ)會(huì)話 249
10.10 小結(jié) 257
第11章 緩存 258
11.1 如何阻止網(wǎng)絡(luò)瀏覽器緩存頁(yè)面 259
11.1.1 解決方案 259
11.1.2 討論 260
11.2 如何控制客戶端緩存 260
11.2.1 解決方案 261
11.2.2 討論 263
11.3 如何在瀏覽器中檢查HTTP頭 263
11.4 如何使用IE緩存文件下載 264
11.5 如何將輸出緩沖用于服務(wù)器端緩存 264
11.5.1 解決方案 265
11.5.2 討論 266
11.6 如何只緩存頁(yè)面中不常改變的部件 267
11.6.1 解決方案 267
11.6.2 討論 270
11.7 如何將PEAR::Cache_Lite用于服務(wù)器端緩存 270
11.8 Cache_Lite支持什么樣的配置選項(xiàng) 273
11.9 如何清空Cache_Lite緩存 275
11.9.1 解決方案 275
11.9.2 討論 275
11.10 如何緩存函數(shù)調(diào)用 275
11.11 本章小結(jié) 277
第12章 XML和Web service 278
12.1 什么樣的XML技術(shù)可用于PHP 5 278
12.2 為什么使用PHP的XML擴(kuò)展,而非PHP字符串函數(shù) 279
12.2.1 解決方案 279
12.2.2 討論 280
12.3 如何解析RSS頻道 280
12.3.1 解決方案 280
12.3.2 討論 284
12.4 如何生成RSS頻道 285
12.4.1 解決方案 285
12.4.2 討論 288
12.5 如何在XML中搜索一個(gè)節(jié)點(diǎn)或者內(nèi)容 288
12.5.1 解決方案 289
12.5.2 討論 289
12.6 如何能夠使用XML-RPC Web service 290
12.7 如何實(shí)現(xiàn)我自己的XML-RPC Webservice 293
12.8 如何能夠使用SOAP Web service 297
12.8.1 解決方案 297
12.8.2 討論 298
12.9 如何能夠?qū)崿F(xiàn)SOAP Web service 298
12.9.1 解決方案 298
12.9.2 討論 300
12.10 如何能夠使用REST服務(wù) 300
12.11 如何能夠?qū)崿F(xiàn)REST服務(wù) 305
12.11.1 解決方案 305
12.11.2 討論 306
12.12 本章小結(jié) 306
第13章 最佳實(shí)踐 308
13.1 如何跟蹤項(xiàng)目代碼的版本 308
13.1.1 解決方案 309
13.1.2 討論 309
13.2 如何維護(hù)單個(gè)代碼庫(kù)的多個(gè)版本 310
13.2.1 解決方案 310
13.2.2 討論 311
13.3 如何編寫(xiě)分布式代碼 312
13.3.1 解決方案 312
13.3.2 討論 317
13.4 如何為代碼編纂說(shuō)明文檔以作自己或其他人的后續(xù)參考 317
13.4.1 解決方案 317
13.4.2 討論 319
13.5 如何確保代碼將來(lái)的變動(dòng)不會(huì)破壞當(dāng)前的功能 321
13.5.1 解決方案 321
13.5.2 討論 327
13.6 如何判別還有什么尚待測(cè)試 328
13.7 我已經(jīng)復(fù)查了一些舊的代碼,發(fā)現(xiàn)它并不合意,該如何讓其變得更好呢 330
13.7.1 解決方案 330
13.7.2 討論 331
13.8 如何安全地部署代碼 331
13.8.1 解決方案 331
13.8.2 討論 332
13.9 本章小結(jié) 332
附錄A PHP配置 334
A.1 配置機(jī)制 334
A.2 關(guān)鍵的安全性和可移植性設(shè)置 335
A.3 包含和執(zhí)行設(shè)置 335
A.4 與錯(cuò)誤相關(guān)的設(shè)置 337
A.5 其他設(shè)置 337
附錄B 主機(jī)提供商檢查清單 339
B.1 一般問(wèn)題 339
B.1.1 主機(jī)支持Linux和Apache嗎 339
B.1.2 主機(jī)提供服務(wù)器的SSH訪問(wèn)嗎 339
B.1.3 主機(jī)是一個(gè)分銷商嗎,或者,他自己維護(hù)服務(wù)器嗎 340
B.1.4 主機(jī)“過(guò)載”服務(wù)器能夠到什么程度 340
B.1.5 主機(jī)提供商關(guān)于從命令行運(yùn)行腳本和程序的政策是什么 340
B.1.6 主機(jī)提供定時(shí)訪問(wèn)這種允許安排批量任務(wù)的Unix實(shí)用程序嗎 340
B.2 和PHP相關(guān)的問(wèn)題 340
B.2.1 能夠在實(shí)際上被分配到的服務(wù)器中看到phpinfo的輸出嗎 340
B.2.2 PHP是作為一個(gè)Apache組件安裝的嗎(而非CGI變種) 340
B.2.3 Apache的settingAllowOverride被設(shè)置為Options或者All了嗎 341
B.2.4 PHP的安全模式禁用了嗎 341
B.2.5 檢查主機(jī)的升級(jí)政策 341
B.2.6 詢問(wèn)安裝的PHP擴(kuò)展列表 341
B.2.7 可從命令行中使用PHP嗎 341
B.2.8 主機(jī)提供商對(duì)PHP的理解程度如何 341
附錄C 安全檢查列表 342
C.1 十大安全脆弱性 342
C.1.1 跨站腳本(XSS) 342
C.1.2 注入攻擊 343
C.1.3 惡意文件執(zhí)行 343
C.1.4 不安全的直接對(duì)象引用 344
C.1.5 跨站請(qǐng)求偽造(CSRF) 344
C.1.6 信息泄露和錯(cuò)誤處理不當(dāng) 345
C.1.7 認(rèn)證和會(huì)話管理不完善 345
C.1.8 不安全的密碼存儲(chǔ) 346
C.1.9 不安全的通信 346
C.1.10 限制URL訪問(wèn)失敗 346
附錄D 使用PEAR 347
D.1 安裝PEAR 348
D.2 PEAR包管理器 350
D.3 手動(dòng)安裝PEAR包 351
D.4 PEAR的供選方案 351
- PLC控制系統(tǒng)的設(shè)計(jì)與維護(hù) [李敏 鹿業(yè)勃 許洪龍]
- 交直流調(diào)速控制系統(tǒng)調(diào)試與維護(hù) [主編 梁強(qiáng) 邱陽(yáng) 許洪龍]
- 微型計(jì)算機(jī)組裝與維護(hù)(第二版) [主編 柳 青 陳孟祥]
- 網(wǎng)站建設(shè)與維護(hù) [主編 蔣永叢 柏杏麗]
- 局域網(wǎng)組建與維護(hù) [宋志秋 金忠偉]
- 計(jì)算機(jī)組裝與維護(hù) [劉媛媛 魯立]
- 計(jì)算機(jī)組裝與維護(hù)(第三版) [錢 鋒]
- 計(jì)算機(jī)組裝與維護(hù) [陳桂生 宋風(fēng)忠]
- 計(jì)算機(jī)組裝與維護(hù)項(xiàng)目實(shí)訓(xùn)教程 [余橋偉 胡振]
- 計(jì)算機(jī)故障檢測(cè)與維護(hù) [李敬川]
- 微型計(jì)算機(jī)組裝與維護(hù)實(shí)用教程 [主 編 王際川 周永福]
- 計(jì)算機(jī)應(yīng)用技能基礎(chǔ)(Windows 7+Office 2010+維護(hù)維修基礎(chǔ)) [秦洪英 賴 娟]
- 自動(dòng)化生產(chǎn)線運(yùn)行與維護(hù) [陳萌 金龍國(guó)]
- 中小型網(wǎng)絡(luò)安全管理與維護(hù) [姚奇富 副主編 馬華林]
- 計(jì)算機(jī)組裝與維護(hù)能力標(biāo)準(zhǔn)實(shí)訓(xùn)教程 [李騰 危光輝]
- 動(dòng)態(tài)網(wǎng)站設(shè)計(jì)制作與維護(hù) [主編 史桂紅 楊正校]
- 計(jì)算機(jī)及網(wǎng)絡(luò)維護(hù)技術(shù) [唐偉 主編]
- 計(jì)算機(jī)組裝與維護(hù)(第二版) [錢鋒 丁亞明 主 編 ]
- 局域網(wǎng)組建與維護(hù) [何曙輝 主 編]
- SQL Server 2005數(shù)據(jù)庫(kù)實(shí)踐教程——管理與維護(hù)篇 [錢哨 張繼紅 陳小全]
- 網(wǎng)絡(luò)管理與維護(hù)技術(shù) [主編 蘇英如]
- 《電腦編程技巧與維護(hù)》2009年合訂本(精華版) [《電腦編程技巧與維護(hù)》雜志社 ]
- 計(jì)算機(jī)外部設(shè)備使用與維護(hù) [朱定善 陳殊]
- 計(jì)算機(jī)系統(tǒng)組裝與維護(hù)技術(shù) [鄧志華 主編 王文劍 副主編]
- 現(xiàn)代辦公設(shè)備的使用與維護(hù) [韓雪濤 韓廣興 吳瑛 等編著]
- 微型計(jì)算機(jī)組裝與維護(hù) [佟偉光 楊慶林 趙忠誠(chéng) 白琳 等]
- 微型計(jì)算機(jī)組裝與維護(hù)實(shí)訓(xùn)教程 [楊尚森 等主編]
- Visual Basic 2005編程技巧大全 [羅斌 等編著]
- 電腦組裝與維護(hù)零距離 [高志清 主編]
- 計(jì)算機(jī)組裝與維護(hù)實(shí)訓(xùn)教程 [李遠(yuǎn)敏 主編]
- 生活經(jīng)管more>>
- 計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)指導(dǎo)
- 用英語(yǔ)介紹中國(guó)經(jīng)典小故事
- 新概念英語(yǔ)單詞循環(huán)速記1:14天刻意練
- 新能源場(chǎng)站繼電保護(hù)傳動(dòng)作業(yè)指導(dǎo)書(shū)
- 高職院校“德技并修·三育協(xié)同”的育人
- 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師真題及模考卷精析(適用
- 涼山脫貧地區(qū)鄉(xiāng)村治理研究
- 中國(guó)—東盟競(jìng)技體育文化共同體研究
- 數(shù)值分析
- 用英語(yǔ)介紹中國(guó)(四六級(jí)版)
- 用英語(yǔ)介紹中國(guó)(第二版)
- 基于AI的Java技術(shù)項(xiàng)目實(shí)戰(zhàn)
- 信息處理技術(shù)員真題及模考卷精析(適用
- 系統(tǒng)集成項(xiàng)目管理工程師案例分析一本通
- 信息安全工程師考前沖刺100題(第二版
- 信息系統(tǒng)項(xiàng)目管理師考前沖刺100題(配