內容簡介
PHP的每個新版本都非常易用,並且用戶只需要學習少量新增內容。您可以在很短的時間內創建一個簡單而動態的網站。《PHP 6 高級編程》不僅將向您展示如何創建一個快速且不複雜的站點,還將幫助您使用PHP 6在較短時間內交付較高質量的軟體。
編輯推薦
為了讓您的PHP知識發揮作用,《PHP 6 高級編程》直接深入分析了PHP的最新版本PHP 6,同時突出了PHP 6與以前版本之間的區別。《PHP 6 高級編程》首先介紹了PHP專業開發的墓礎,並回顧了面向對象編程(oop)的基本概念,然後介紹了比較高級的開發技術。最後,將所介紹的內容綜合套用於實踐,使用模型-視圖-控制器(mvc)架構從頭構建一個應用程式。最終,您將發現如何充分發揮PHP 6的功能,將其作用發揮到極致。
主要內容
·如何使用PHP6提供的工具,如名稱空間、集合、疊代器等
·資料庫在企業應用程式開發中的角色
·如何通過使用不同的PHP 6技術應對常見的軟體開發難題
·質量保證(qa)和測試的重要性,以及如何在不同規模的項目中實現質量保證和測試
·如何使用PHP 6構造類似於flickr和facebook的高流量或高可用性站點
·如何使用PHP驅動的內容管理系統和內容管理架構
作者簡介
作者:(美國)湯普森(Ed Lecky-Thompson) (美國)諾維茨基(Steven D.Nowicki) (美國)Thomas Myer 譯者:劉志忠 楊明軍
Ed Lecky-Thompson於2003年創辦了他自己的互聯廣告公司,而在此之前,他是Brandspace公司的創建人之一。目前,他領導著位於英國的數位化專家公司Galileo(www-galileodm-corn)。在該公司中,他主要負責新興的數位化關係市場行銷,並為頂級的藍籌股(包括Microsoft和一家大型的美國金融服務集團)管理線上公共關係賬戶。在過去5年中,他撰寫了多本關於PHP的專著,並為php 0 architectmagazine雜誌撰寫論文。Ed於2004年在First Leisure Corporation公司作為新媒體的領導人獲得了New Media AgeEffectiveness Award大獎。
Steven D.Nowicki是AdKnowledge公司的高級軟體開發人員,並且在紐約、倫敦和洛杉磯具有13年以上的軟體開發和技術管理工作經驗。他已經領導了多個數百萬美元的Web應用程式的軟體體系結構設計,並領導了數十個大規模的、關鍵任務的PHP實現,包括企業資源規劃系統、CRM系統和高容量分析系統。本書是他所撰寫的第三本關於PHP的書籍。
了homas Myer是一名技術專著的作者,也是諮詢師和Web開發人員。2001年,他在德克薩斯奧斯丁創建了丁riple Dog Dare Media公司。
目錄
第1部分 專業開發基礎
第1章 面向對象編程概述
1.1 面向對象編程的概念
1.1.1 OOP的優點
1.1.2 一個現實世界的例子
1.2 理解OOP概念
1.3 類
1.3.1 對象
1.3.2 繼承
1.3.3 接口
1.3.4 封裝
1.4 PHP6中00支持的改動
1.5 本章小結
第2章 統一建模語言(UML)
2.1 需求收集
2.1.1 會見客戶
2.1.2 用例圖
2.2 類圖
2.2.1 領域建模
2.2.2 關係
2.3 活動圖
2.4 順序圖
2.5 狀態圖
2.6 組件圖和部署圖
2.7 本章小結
第3章 使用對象
3.1 創建聯繫人管理器
3.1.1 聯繫人管理器{3MI.圖
3.1.2 PropertyObject類
3.1.3 聯繫信息類型類
3.1.4 DataManager類
3.1.5 Entity類、Individual類和Organization類
3.2 使用系統
3.3 本章小結
第4章 設計模式
4.1 組合模式
4.1.1 實現
4.1.2 幾點考慮事項
4.2 觀察者模式
4.2.1 視窗部件
4.2.2 幾點考慮事項
4.3 裝飾器模式
4.3.1 實現
4.3.2 使用裝飾器模式
4.3.3 幾點考慮事項
4.4 外觀模式
4.5 建造者模式
4.5.1 實現
4.5.2 幾點考慮事項
4.6 本章小結
第5章 Collection類
5.1 設計Collection類的目的
5.2 設計Collection類
5.3 Couection類的基本方法
5.3.1 addltem方法
5.3.2 removeltem方法和getItem方法
5.3.3 其他方法
5.3.4 使用Collection類
5.4 實現惰性實例化
5.4.1 回調
5.4.2 Collection類中的setLoadCallback方法
5.5 使用Couection類
5.6 改進Couection類
5.7 本章小結
第6章 使用PDO的資料庫抽象
6.1 PHP和資料庫
6.1.1 PHP的資料庫支持
6.1.2 PHP和PostgreSQI
6.1.3 概述
6.1.4 問題
6.1.5 包裝器類
6.1.6 總結
6.2 資料庫抽象
6.2.1 所需的技術
6.2.2 PDO簡介
6.2.3 PDO入門
6.3 使用PDO
6.3.1 PDO類
6.3.2 執行查詢
6.3.3 PDOStatement類
6.3.4 預置語句
6.3.5 只寫語句
6.3.6 事務與提交
6.3.7 常量
6.3.8 處理錯誤
6.4 高級PD0技術
6.4.1 大對象
6.4.2 資料庫特有的函式
6.4.3 持久連線
6..4.4 存儲過程
6.4.5 單元素實例化
6.5 PD0的局限性
6.5.1 查詢語法
6.5.2 功能模擬
6.5.3 非SQL數據源
6.5.4 掌握PDO所需的額外知識
6.6 本章小結
第2部分 高級開發技術
第7章 對象關係映射
7.1 類的類型
7.1.1 實用類
7.1.2 業務類
7.2 業務對象詳解
7.2.1 設計
7.2.2 原型
7.2.3 添加數據綁定
7.2.4 可行的業務對象
7.2.5 確保滿足需求
7.2.6 理解工作原理
7.2.7 局限性
7.3 更加智慧型的方式
7.3.1 惰性實例化
7.3.2 屬性監控
7.3.3 可重用性
7.4 DataBoundobject類
7.4.1 設計
7.4.2 編碼
7.4.3 示例實現
7.4.4 工作原理
7.4.5 優點
7.5 本章小結
第8章 事件驅動編程
8.1 理解事件
8.2 使用OOP處理事件
8.2.1 設計事件驅動解決方案
8.2.2 實現解決方案
8.2.3 實現安全性
8.2.4 暫停並思考
8.3 本章小結
第9章 記錄和調試
9.1 創建記錄機制
9.1.1 簡單檔案記錄
9.1.2 檔案系統布局示例
9.1.3 Logger類
9.1.4 擴展Logger類
9.2 創建調試機制
9.3 本章小結
第10章 編寫和使用Web服務
10.1 SOAP
10.1.1 SOAP和PHP6
10.1.2 PHP6SOAP擴展
10.2 創建SOAP客戶端
10.2.1 分析後台工作原理
10.2.2 SOAP客戶端上的異常處理
10.3 構建SOAP伺服器
10.3.1 創建並註冊函式
10.3.2 創建WSDL文檔
10.4 REST
10.5 實現REST客戶端
10.6 構建REST伺服器
10.7 本章小結
第11章 與用戶通信
11.1 實現通信的必要性
11.1.1 與用戶通信的原因
11.1.2 在Web瀏覽器之外考慮問題
11.2 通信的類型
11.2.1 所有通信的共有部分
11.2.2 不是所有通信都擁有的部分
11.2.3 收件人的情況
11.3 作為類層次結構的通信
11.3.1 Recipient類:快速測試類似於OOP的思想
11.3.2 通信類
11.4 給用戶傳送電子郵件
11.4.1 構建測試版本
11.4.2 分析訊息
11.4.3 靈活利用模板
11.4.4 使用MIME
11.5 其他通信子類
11.5.1 SMS文本訊息收發
11.5.2 傳真
11.6 其他需要考慮的因素
11.6.1 阻塞活動
11.6.2 可傳遞性
11.7 本章小結
第12章 會話和身份驗證
12.1 會話簡介
12.1.1 HTTP的工作原理
12.1.2 會話的定義
12.1.3 會話永存
12.1.4 會話安全
12.1.5 良好的會話實踐
12.2 PHP實現會話的方式
12.2.1 基本PHP會話
12.2.2 基本PHP會話的局限性
12.3 創建身份驗證類
12.3.1 將PHP會話管理連線到資料庫
12.3.2 HTTPSession類簡介
12.3.3 資料庫模式
12.3.4 代碼:H/TPSessionphpm
12.3.5 代碼:測試HTTPSession類
12.3.6 HTTPSession類的工作原理
12.3.7 性能考慮事項
12.3.8 將所有內容串在一起
12.4 本章小結
第13章 應用程式體系結構
13.1 MVC簡介
13.1.1 模型
13.1.2 視圖
13.1.3 控制器
13.1.4 web應用程式中的MVC
13.1.5 PHP中的MVC
13.2 MVC微型工具包
13.2.1 工具包簡介
13.2.2 使用工具包
13.2.3 關於PRG的討論
13.2.4 第三方工具包
13.3 真正的模板化
13.3.1 重新實現原始PHP模板化
13.3.2 原始模板化的隱患
13.3.3 使用Smarty模板實現真正的模板化
13.3.4 安裝Smarty
13.3.5 使用Smarty
13.3.6 Smarty高級功能
13.3.7 使用Smarty模板化的場合與使用傳統模板化的場合
13.4 少量的建模工作
13.4.1 單元測試簡介
13.4.2 PHPUnit簡介
13.4.3 如此麻煩的必要性
13.5 本章小結
第14章 PHP應用程式架構
14.1 架構簡介
14.1.1 應用程式結構
14.1.2 代碼和顯示邏輯分離
14.1.3 驗證
14.1.4 URL重寫
14.1.5 表單的持久化
14.1.6 對象關係映射
14.1.7 資料庫抽象
14.1.8 實用類
14.2 用例場景
14.3 應用程式示例
14.3.1 Ulysses簡介
14.3.2 安裝Ulysses
14.3.3 使用Ulysses
14.3.4 設定
14.3.5 業務對象
14.3.6 servlet
14.3.7 處理用戶輸入
14.3.8 持久化
14.3.9 驗證
14.3.1 0快速檢查
14.3.1 1保存輸入
14.3.1 2大功告成
14.3.1 3快速總結
14.4 其他一些架構
14.4.1 Prado
14.4.2 ZendFramework
14.5 部署考慮事項
14.6 本章小結
第3部分 現實世界案例研究
第15章 項目概述
15.1 WidgetWbrld
15.2 Widgetwbrld概述
15.2.1 技術層
15.2.2 財務層
15.2.3 行政層
15.2.4 您所扮演的角色
15.2.5 需求是否確實與技術有關
15.3 開發方法
15.3.1 開發方法對您的意義
15.3.2 相關技術
15.4 本章小結
第16章 項目管理
16.1 做準備工作
16.1.1 新項目產生的原因
16.1.2 項目的接收方
16.1.3 項目的歷史
……
第17章 項目規劃
第18章 系統體系結構
第19章 構建應用程式
第20章 質量保證與測試
第21章 部署
第4部分 超越php的極限
第22章 php世界中的內容管理
第23章 處理高流量和高可用性
第24章 倡導使用php的原因
第25章 php職業生涯
附錄a 版本控制
附錄b php集成開發環境
附錄c php應用程式性能調整
附錄d php安裝最佳實踐