第1章 麵嚮對象 1
1.1 類 1
1.2 繼承和重載 3
1.3 各種“魔術方法” 7
1.3.1 __get和__set方法 7
1.3.2 __isset方法 8
1.3.3 __call方法 9
1.3.4 __toString()方法 9
1.4 復製、剋隆和比較對象 10
1.5 接口、迭代器和抽象類 12
1.6 類的作用域與靜態成員 16
1.7 總結 18
第2章 異常和引用 19
2.1 異常 19
2.2 引用 24
2.3 總結 27
第3章 PHP在移動設備上的應用 28
3.1 移動設備的差異性 28
3.2 檢測設備 29
3.2.1 用戶代理 29
3.2.2 內置的PHP支持 29
3.3 偵測移動性能 32
3.3.1 WURFL係統 32
3.3.2 Tera-WURFL 40
3.4 渲染工具 44
3.4.1 WALL 44
3.4.2 圖像調整 45
3.4.3 響應性CSS 46
3.5 模擬器和SDK 47
3.5.1 Android開發 47
3.5.2 支持PHP的Adobe Flash Builder 47
3.6 QR碼 48
3.7 總結 49
第4章 PHP在社交媒體中的應用 50
4.1 OAuth 50
4.2 Twitter 51
4.2.1 公有的搜索API 51
4.2.2 私有REST API 52
4.2.3 使用Twitter OAuth連接網站的登錄 63
4.2.4 更多的API方法和示例 67
4.3 Facebook 70
4.3.1 為退齣Facebook添加鏈接 75
4.3.2 請求額外的權限 76
4.3.3 圖像API 77
4.4 總結 79
第5章 前沿 80
5.1 命名空間 80
5.1.1 命名空間和自動加載 83
5.1.2 命名空間小結 83
5.2 匿名函數(閉包) 84
5.3 Nowdoc 85
5.4 局部goto語句 87
5.5 標準PHP庫 88
5.6 Phar擴展 91
5.7 總結 94
第6章 錶單設計與管理 95
6.1 數據驗證 95
6.2 上傳文件/圖片 101
6.3 圖像轉換和縮略圖 102
6.4 正則錶達式 104
6.5 多語言集成 107
6.6 總結 108
第7章 數據庫集成I 109
7.1 MongoDB簡介 110
7.1.1 MongoDB查詢 114
7.1.2 更新MongoDB 118
7.1.3 MongoDB中的聚閤 120
7.1.4 MongoDB總結 123
7.2 CouchDB簡介 123
7.2.1 使用Futon 124
7.2.2 CouchDB總結 129
7.3 SQLite簡介 130
7.4 總結 139
第8章 數據庫集成II 140
8.1 MySQLi擴展簡介 140
8.2 PDO簡介 147
8.3 ADOdb簡介 151
8.4 使用Sphinx全文檢索 155
8.5 總結 163
第9章 數據庫集成III 164
9.1 Oracle關係型數據庫簡介 164
9.2 基礎知識:連接和執行SQL 166
9.3 數組接口 169
9.4 PL/SQL存儲過程及遊標 173
9.5 使用LOB類型 176
9.6 再探數據庫連接:連接池 180
9.7 數據庫和PHP中的字符集 183
9.8 總結 184
第10章 函數庫 185
10.1 SimplePie 186
10.2 TCPDF 189
10.3 集成榖歌地圖 201
10.4 電子郵件和短信 205
10.5 gChartPHP:Google圖錶API包 208
10.6 總結 211
第11章 安全 212
11.1 永不信任數據 212
11.1.1 register_globals 212
11.1.2 白名單和黑名單 213
11.1.3 錶單數據 214
11.1.4 $_COOKIES、$_SESSION和$_SERVER 215
11.1.5 Ajax請求 216
11.2 常見的攻擊 216
11.2.1 同源策略 216
11.2.2 跨站腳本 217
11.2.3 跨站請求僞造 219
11.3 會話 220
11.4 預防SQL注入 221
11.5 過濾器擴展 222
11.6 php.ini和服務器設置 225
11.6.1 服務器環境 225
11.6.2 強化php.ini 226
11.7 密碼算法 227
11.8 總結 228
第12章 使用Zend Studio for Eclipse、Bugzilla、Mylyn和Subversion進行敏捷開發 229
12.1 敏捷開發的原則 229
12.2 項目的敏捷開發 230
12.3 Bugzilla簡介 231
12.4 Eclipse下的Mylyn 233
12.5 Eclipse中組閤Bugzilla和Mylyn 235
12.6 延伸功能的優點 239
12.7 總結 240
第13章 重構、單元測試和持續集成 241
13.1 重構 241
13.1.1 小的重構 242
13.1.2 更大的遺留代碼的示例 245
13.2 單元測試 259
13.3 持續集成 274
13.3.1 持續集成服務器 275
13.3.2 版本控製 275
13.3.3 靜態分析 276
13.3.4 構建自動化 277
13.3.5 Jenkins服務器的安裝 278
13.4 總結 281
第14章 XML 282
14.1 XML入門 282
14.2 模式(schema) 283
14.3 SimpleXML 284
14.3.1 從字符串解析XML 284
14.3.2 從文件解析XML 285
14.3.3 命名空間 290
14.3.4 RSS 292
14.3.5 使用SimpleXML生成XML 294
14.4 DOMDocument 299
14.5 XMLReader和XMLWriter 301
14.6 總結 303
第15章 JSON和Ajax 304
15.1 JSON 305
15.2 Ajax 311
15.2.1 傳統的Web模型 311
15.2.2 Ajax Web模型 312
15.2.3 異步事件與同步事件 313
15.2.4 XMLHttpRequest對象 314
15.2.5 使用XMLHttpRequest 316
15.2.6 高級的JavaScript API 321
15.2.7 jQuery的例子 321
15.2.8 使用Ajax嚮PHP腳本發送數據 326
15.3 一個簡單的圖形程序 328
15.4 總結 336
第16章 結束語 337
16.1 資源 337
16.1.1 www.php.net 337
16.1.2 www.zend.com 338
16.1.3 devzone.zend.com 338
16.1.4 PHP | Architect Magazine: www.phparch.com 339
16.2 會議 339
16.3 PHP認證 340
16.4 總結 341
附錄 正則錶達式 342
· · · · · · (
收起)