編輯推薦
5名世界專傢使用無數的優秀實踐編程實例帶您領略PH P的非凡功力。
所有解決方案都進行瞭詳盡的解釋,代碼即學即用,可供下載。
《PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版)》是想要研究復雜PH P解決方案的PH P開發人員的必備夥伴。
從容地管理錯誤
構建功能錶單、錶格和SEO友好的U RL
通過客戶端和服務器端緩存減少加載時間
生成和使用Web service
內容簡介
《PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版)》作者為活躍在PHP開發一綫、具有豐富PHP開發經驗的專傢,他們把實踐中積纍的大量經驗技巧和有針對性的問題的解決方案,結閤SitePoint論壇上的一些常見問題的解決方案編寫瞭《PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版)》。《PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版)》采用大量實際案例進行深入分析講解,非常有利於讀者的學習理解。《PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版)》基本涵蓋瞭Web開發中常見的問題,讀者可以直接進入到關注的主題進行學習。內容涵蓋使用PDO訪問數據庫,字符串,日期和時間,錶單、錶格和漂亮整潔的URL,文件操作、電子郵件、圖像、錯誤處理、防問控製、緩存、XML和Web service。
為瞭輔助《PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版)》的學習,作者還建立瞭一個Web站點,提供代碼和更新等資源支持,網址為http://www.sitepoint.com/books/phpant2/,書山的大量腳注也提供瞭有用資源的參考。
《PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版)》適用於具有一定PHP開發經驗的初學人員,對於那些希望改善Web應用程序或提高技術水平的資深開發人員也有很高的參考價值。
作者簡介
BEN BALBO,齣生於德國,在英國成長,生活在墨爾本,喜歡Guinness黑啤。在不喝Guinness的時候,他靠擔任PHP開發和培訓師、安全顧問和開源開發者為生。他因公開討論Web開發相關話題而知名,這些話題是墨爾本PHP用戶群和開源開發人員俱樂部委員會提議的。HARRY FUECKS,一位技術作傢、程序員和係統工程師。1994年起在公司IT部門工作,擁有物理學學士學位。他最早接觸PHP是在1999年,那時他正在組建一個小型的內部網。今天,他是一傢公司外網的高級開發人員,PHP在其外網中扮演著重要角色,負責為大量的內勤係統提供一個統一平颱。他在業餘時間為SitePoint撰寫技術文章,並且運營討論PHP應用程序設計的網站phppPatterms。
DAVEY SHAFIK,一名具有10年PHP和相關技術經驗的全職PHP開發人員。作為-位熱情的雜誌撰稿人、圖書作者和演講者,DAVEY通過以獨特視角解決問題保持頭腦靈活。LIGAYA TLJRMELLE是一位女強人、偶爾的PHP程序員和著迷的世界旅行者。作為phpwomen.org的主要負責人、codewalkers.com的管理員、Zend.com上Developer Zone的巡迴記者、Freenode的#phpc頻道的忙人和PHP博主,她積極地參與到PHP社區中,並且希望有一天能夠與她誌同道閤的人會麵。
MATTHEW WEIER O’PHINNEY是兩個孩子的全職父親,他的空閑時間都花在瞭PHP開發上。他是一位PEAR開發人員、Zend Framework的核心貢獻者、全麵的PHP 5支持者——PHP 6的發布速度對他來說還不夠快。
內頁插圖
目錄
譯者序
前言
第1章 概述
1.1 從何處獲得幫助
1.2 什麼是OOP
1.3 如何編寫可移植的PHP代碼
1.4 小結
第2章 使用PDO訪問數據庫
2.1 什麼是PDO
2.2 如何訪問數據庫
2.2.1 解決方案
2.2.2 討論
2.3 如何從錶中獲取數據
2.3.1 解決方案
2.3.2 討論
2.4 如何解決SQL查詢中的錯誤
2.4.1 解決方案
2.4.2 討論
2.5 如何嚮數據庫中添加或修改數據
.2.5.1 解決方案
2.5.2 討論
2.6 如何保護Web站點免受SQL注入攻擊
2.6.1 解決方案
2.6.2 討論
2.7 如何創建靈活的SQL語句
2.7.1 解決方案
2.7.2 討論
2.8 如何獲得受影響的行數
2.9 如何獲得一個新插入行的自動增加字段
2.9.1 解決方案
2.9.2 討論
2.10 如何搜索錶
2.10.1 解決方案
2.10.2 討論
2.11 如何進行事務處理
2.11.1 解決方案
2.11.2 討論
2.12 如何利用PDO使用存儲過程
2.12.1 解決方案
2.12.2 討論
2.13 如何備份數據庫
2.13.1 解決方案
2.13.2 討論
2.14 小結
第3章 字符串
3.1 如何安全地輸齣字符串
3.2 如何保留格式
3.3 如何從文本中剝離HTML標記
3.3.1 解決方案
3.3.2 討論
3.4 如何強製文本在一定數量的字符後摺行顯示
3.5 如何執行高級搜索和替換操作
3.6 如何將文本打散為行數組
3.6.1 解決方案
3.6.2 討論
3.7 如何從文本中移除空白內容
3.8 如何輸齣格式化文本
3.9 如何驗證提交的數據
3.9.1 解決方案
3.9.2 討論
3.10 小結
第4章 日期和時間
4.1 如何使用UNIX時間戳
4.1.1 解決方案
4.1.2 討論
4.2 如何獲得當前日期
4.2.1 解決方案
4.2.2 討論
4.3 如何知道是星期幾
4.4 如何獲得一個月份的天數
4.5 如何創建一個日曆
4.6 如何在MySQL中存儲日期
4.6.1 解決方案
4.6.2 討論
4.7 如何使用MySQL時間戳
4.8 如何使用MySQL執行日期計算
第5章 錶單、錶格和漂亮整潔的URL
5.1 如何使用PHP建HTML錶單
5.2 如何在錶格中顯示數據
5.3 如何在排序錶中顯示數據
5.4 如何創建自定義數據柵格
5.5 如何在PHP中建立“漂亮整潔的”URL
5.5.1 解決方案
5.5.2 討論
5.6 小結
第6章 文件操作
6.1 如何讀取本地文件
6.1.1 解決方案
6.1.2 討論
6.2 如何使用文件句柄
6.2.1 解決方案
6.2.2 討論
6.3 如何修改本地文件
6.3.1 解決方案
6.3.2 討論
6.4 如何訪問本地文件的有關信息
6.4.1 解決方案
6.4.2 討論
6.5 如何使用PHP檢查目錄
6.6 如何在綫顯示PHP源代碼
6.6.1 解決方案
6.6.2 討論
6.7 如何在文件中存儲配置信息
6.7.1 解決方案
6.7.2 討論
6.8 如何訪問遠程服務器上的文件
6.8.1 解決方案
6.8.2 討論
6.9 如何在PHP中使用FTP
6.9.1 解決方案
6.9.2 討論
6.10 如何使用PHP管理文件下載
6.10.1 解決方案
6.10.2 討論
6.11 如何使用PHP創建壓縮的ZIP/TAR文件
6.12 如何使用PHP5中的標準PHP庫操作文件
6.12.1 解決方案
6.12.2 討論
6.13 小結
第7章 電子郵件
7.1 如何發送一封簡單的電子郵件
7.1.1 解決方案
7.1.2 討論
7.2 如何簡化復雜電子郵件的生成
7.2.1 解決方案
7.2.2 討論
7.3 如何為消息添加附件
7.3.1 解決方案
7.3.2 討論
7.4 如何發送HTML郵件
7.5 如何將消息郵寄至一組人員
7.5.1 解決方案
7.5.2 討論
7.6 如何使用PHP處理到達的郵件
7.6.1 解決方案
7.6.2 討論
7.7 如何保護站點免受電子郵件注入攻擊
7.7.1 解決方案
7.7.2 討論
7.8 小結
第8章 圖你
8.1 如何指定正確的圖像MIME類型
8.2 如何創建縮略圖
8.3 如何在不拉伸圖像的情況下調整其大小
8.4 如何構建一個簡單的縮略圖藝術庫
8.5 如何從圖像中提取EXIF信息
8.6 如何為圖像增加水印
8.7 如何使用PHP顯示圖錶和圖形
8.7.1 解決方案
8.7.2 討論
8.8 如何防止圖像盜鏈
8.9 如何創建隻能人工驗證的圖像
8.9.1 解決方案
8.9.2 討論
8.10 小結
第9章 錯誤處理
9.1 PHP報告哪些錯誤級彆
9.2 PHP為錯誤處理提供哪些內置設置
9.3 如何觸發PHP錯誤
9.3.1 解決方案
9.3.2 討論
9.4 如何使用PHP實現自定義錯誤處理器
9.4.1 解決方案
9.4.2 討論
9.5 如何記錄和報告錯誤
9.6 如何使用PHP異常進行錯誤處理
9.6.1 解決方案
9.6.2 討論
9.7 如何創建一個自定義異常類
9.7.1 解決方案
9.7.2 討論
9.8 如何用PHP實現一個自定義異常處理器
9.8.1 解決方案
9.8.2 討論
9.9 如何像處理異常一樣處PHP錯誤
9.9.1 解決方案
9.9.2 討論
9.10 如何恰當地顯示錯誤和異常
9.10.1 解決方案
9.10.2 討論
9.11 如何在發生錯誤時將用戶重定嚮到另一個頁麵
9.11.1 解決方案
9.11.2 討論
9.12 小結
第10章 訪問控製
10.1 如何使用HTTP認證
10.1.1 解決方案
10.1.2 討論
10.2 如何使用會話
10.2.1 解決方案
10.2.2 討論
10.3 如何創建一個會話類
10.4 如何創建一個類來控製對站點部分的訪問
10.4.1 解決方案
10.4.2 討論
10.5 如何建立一個注冊係統
10.5.1 解決方案
10.5.2 討論
10.6 如何處理那些忘記口令的成員
10.7 如何讓用戶更改他們的口令
10.7.1 解決方案
10.7.2 討論
10.8 如何建立一個權限係統
10.8.1 解決方案
10.8.2 討論
10.9 如何在數據庫中存儲會話
10.10 小結
第11章 緩存
11.1 如何阻止網絡瀏覽器緩存頁麵
11.1.1 解決方案
11.1.2 討論
11.2 如何控製客戶端緩存
11.2.1 解決方案
11.2.2 討論
11.3 如何在瀏覽器中檢查HTTP頭
11.4 如何使用Ⅲ緩存文件下載
11.5 如何將輸齣緩衝用於服務器端緩存
11.5.1 解決方案
11.5.2 討論
11.6 如何隻緩存頁麵中不常改變的部件
11.6.1 解決方案
11.6.2 討論
11.7 如何將PEAR::Cache_Lite用於服務器端緩存
11.8 Cache_Lite支持什麼樣的配置選項
11.9 如何清空CacheLite緩存
11.9.1 解決方案
11.9.2 討論
11.10 如何緩存函數調用
11.11 本章小結
第12章 XML和Websewice
12.1 什麼樣的XML技術可用於PHP5
12.2 為什麼使用PHP的XML擴展,而非PHP字符串函數
12.2.1 解決方案
12.2.2 討論
12.3 如何解析RSS頻道
12.3.1 解決方案
12.3.2 討論
12.4 如何生成RSS頻道
12.4.1 解決方案
12.4.2 討論
12.5 如何在XML中搜索一個節點或者內容
12.5.1 解決方案
12.5.2 討論
12.6 如何能夠使用XML-RPCWebservice
12.7 如何實現我自己的XML-RPCWebservice
12.8 如何能夠使用SOAPWebservice
12.8.1 解決方案
12.8.2 討論
12.9 如何能夠實現SOAPWebservice
12.9.1 解決方案
12.9.2 討論
12.10 如何能夠使用REST服務
12.11 如何能夠實現REST服務
12.11.1 解決方案
12.11.2 討論
12.12本章小結
第13章 最佳實踐
13.1 如何跟蹤項目代碼的版本
13.1.1 解決方案
13.1.2 討論
13.2 如何維護單個代碼庫的多個版本
13.2.1 解決方案
13.2.2 討論
13.3 如何編寫分布式代碼
13.3.1 解決方案
13.3.2 討論
13.4 如何為代碼編纂說明文檔以作自己或其他人的後續參考
13.4.1 解決方案
13.4.2 討論
13.5 如何確保代碼將來的變動不會破壞當前的功能
13.5.1 解決方案
13.5.2 討論
13.6 如何判彆還有什麼尚待測試
13.7 我已經復查瞭一些舊的代碼,發現它並不閤意,該如何讓其變得更好呢
13.7.1 解決方案
13.7.2 討論
13.8 如何安全地部署代碼
13.8.1 解決方案
13.8.2 討論
13.9 本章小結
附錄A PHP配置
A.1 配置機製
A.2 關鍵的安全性和可移植性設置
A.3 包含和執行設置
A.4 與錯誤相關的設置
A.5 其他設置
附錄B 主機提供商檢查清單
B.1 一般問題
B.1.1 主機支持Linux和Apache嗎
B.1.2 主機提供服務器的SSH訪問嗎
B.1.3 主機是一個分銷商嗎,或者,他自己維護服務器嗎
B.1.4 主機“過載”服務器能夠到什麼程度
B.I.5 主機提供商關於從命令行運行腳本和程序的政策是什麼
B.1.6 主機提供定時訪問這種允許安排批量任務的Unix實用程序嗎
B.2 和PHP相關的問題
B.2.1 能夠在實際上被分配到的服務器中看到phpinfo的輸齣嗎
B.2.2 PHP是作為一個Apache組件安裝的嗎(而非CGI變種)
B.2.3 Apache的settingAllowOverride被設置為Options或者All瞭嗎
B.2.4 PHP的安全模式禁用瞭嗎
B.2.5 檢查主機的升級政策
B.2.6 詢問安裝的PHP擴展列錶
B.2.7 可從命令行中使用PHP嗎
B.2.8 主機提供商對PHP的理解程度如何
附錄C 安全檢查列錶
C.1 十大安全脆弱性
C.1.1 跨站腳本(XSS)
C.1.2 注入攻擊
C.1.3 惡意文件執行
C.1.4 不安全的直接對象引用
C.1.5 跨站請求僞造(CSRF)
C.1.6 信息泄露和錯誤處理不當
C.1.7 認證和會話管理不完善
C.1.8 不安全的密碼存儲
C.1.9 不安全的通信
C.1.10 限製URL訪問失敗
附錄D 使用PEAR
D.1 安裝PEAR
D.2 PEAR包管理器
D.3 手動安裝PEAR包
D.4 PEAR的供選方案
精彩書摘
這部分內容是該手冊的主體部分,包括瞭PHP中所有可用函數的各個方麵。在.PHP學習過程中,您會在這部分內容上花費大部分時間。因此您會很樂於聽到這個消息:PHP團隊已經在這部分內容的易用性方麵投入瞭很大精力。這甚至很有趣,在空閑的時候瀏覽一下手冊,會對使用PHP能夠做到的事情感到驚訝。您沒看錯,我確實使用瞭“有趣”這個詞來描述您閱讀這本手冊的感覺。
函數參考按照函數的分類分為幾個子部分,每個分類對應於一個PHP擴展。除瞭核心語言的語法之外,大部分PHP被組閤成可代錶不同功能的擴展。
PHP擴展
盡管很多擴展是與標準:PH=P安裝一起分發的,但擴展的概念一開始可能讓人感覺有點睏惑。不可缺少的String函數就是一個恰當的示例。通常情況下,PHP團隊將他們認為對於開發人員很關鍵的所有擴展作為默認PHP安裝的一部分一起分發。
前言/序言
關於PHP最偉大的一個方麵就是其充滿活力的社區。開發人員享有許多在綫會麵的機會,包括SitePoint論壇,在這裏開發人員可以相互幫助解決他們在日常工作中遇到的問題,包括從最基礎的PHP如何工作到解決像“如何驗證一個錶單?”這類設計問題。作為一種獲得幫助的方法,這些社區做得非常齣色。它們包含瞭保證項目成功所需要的各種重要內容。但是將所有這些知識組閤在一起應用於您的特定情況卻是一個挑戰。社區成員通常會假定其他文章的發布者具有一定程度的知識,您可能經常需要花費大量時間從各種文章、帖子和用戶(每個用戶具有不同的編程風格)那裏抽取一些代碼片段拼湊起來形成一個完整的圖像。
《PHP深度分析:101個核心技巧、竅門和問題解決方法》(原書第二版)首次匯集瞭定期發布在SitePoint論壇上的常見PHP問題的最佳解決方案,並結閤瞭作者們從其多年PHP使用中獲得的經驗和感悟。
本書區彆於其他PHP圖書的地方在於其未采用指南的形式,而是將重點放到怎樣以最少精力獲得實際結果上。為瞭達到這種結果,您不必逐頁閱讀本書,而是采用“即插即用”的方式使用本書中提供的解決方案。為瞭幫助讀者更好地使用本書,每個部分都采用瞭一緻的“問題一解決方案”的方式。可以快速瀏覽一下目錄,直接跳轉到針對您問題的解決方案。
也就是說,有一個隱藏的議題貫穿於本書中所有討論。除瞭解決方案,本書還將為您介紹一些能夠節省精力的技巧,幫助您減少完成和維護基於Web的PHP應用的時間。
PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版) [PHP Anthology] epub pdf mobi txt 電子書 下載 2024
PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版) [PHP Anthology] 下載 epub mobi pdf txt 電子書
PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版) [PHP Anthology] mobi pdf epub txt 電子書 下載 2024
PHP深度分析:101個核心技巧、竅門和問題解決方法(原書第2版) [PHP Anthology] epub pdf mobi txt 電子書 下載 2024