注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計網(wǎng)絡(luò)編程PHP核心技術(shù)與最佳實踐

PHP核心技術(shù)與最佳實踐

PHP核心技術(shù)與最佳實踐

定 價:¥89.00

作 者: 列旭松,陳文 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: PHP

ISBN: 9787111401926 出版時間: 2012-11-01 包裝: 平裝
開本: 16開 頁數(shù): 540 字數(shù):  

內(nèi)容簡介

  《PHP核心技術(shù)與最佳實踐》是一本致力于為希望成為中高級PHP程序員的讀者提供高效而有針對性指導的經(jīng)典著作。本書系統(tǒng)歸納和深刻解讀了PHP開發(fā)中的編程思想、底層原理、核心技術(shù)、開發(fā)技巧、編碼規(guī)范和最佳實踐。 《PHP核心技術(shù)與最佳實踐》全書分為5個部分:第一部分(1~2章)從不同的角度闡述了面向?qū)ο筌浖O(shè)計思想的核心概念、技術(shù)和原則,分析了面向?qū)ο蟮奶匦?、設(shè)計模式的理念,指出了如何設(shè)計低耦合、高可擴展性的軟件,等等;第二部分(3~6章)詳細講解了PHP中正則表達式的規(guī)范和使用技巧,PHP網(wǎng)絡(luò)編程的原理、方法、技巧和一些重要的操作,PDO、數(shù)據(jù)庫應用優(yōu)化,數(shù)據(jù)庫設(shè)計和MySQL的高級應用,PHP擴展引擎的原理與實踐;第三部分(第7章)撥云見日,圍繞PHP擴展開發(fā)進行了細致而深入的探討,解析了PHP的底層實現(xiàn)和Zend虛擬機API,并用PHP擴展開發(fā)的實例帶領(lǐng)讀者走進PHP的底層世界,旨在讓讀者對PHP性能優(yōu)化、底層原理進行深入的理解。第四部分(8~11章)重點討論了緩存的設(shè)計、Memcached的原理與實踐、NoSQL數(shù)據(jù)庫Redis源碼分析與應用實踐、高性能PHP網(wǎng)站的架構(gòu)和設(shè)計等內(nèi)容;第五部分(12~14章)詳細講解了PHP代碼的調(diào)試和測試、Hash算法和數(shù)據(jù)庫的實現(xiàn),以及PHP的編碼規(guī)范,旨在幫助讀者提高開發(fā)效率,養(yǎng)成良好編程習慣。

作者簡介

  列旭松,資深PHP技術(shù)工程師,精通PHP及其相關(guān)技術(shù),對PHP內(nèi)核原理有較深入的理解,開發(fā)經(jīng)驗豐富。曾自主開發(fā)了關(guān)鍵字匹配服務器(http://code.google.com/p/sensitive-filter-server/)和消息隊列SquirrelMQ(http://code.google.com/p/squirrel-message-queue/)。平時喜歡開發(fā)一些實用的PHP擴展,如PHP字典擴展(紅黑樹算法)(http://code.google.com/p/php-dict/)和PHP索引擴展(B+樹算法)(http://code.google.com/p/php-mini-database/)。精通C語言,同時對Web服務器的架構(gòu)和優(yōu)化、高并發(fā)服務端編程、Redis和Memcached等技術(shù)有深入的研究和認識?;钴S于PHPChina和ChinaUnix等專業(yè)社區(qū),擔任PHPChina論壇內(nèi)核版塊版主。 陳文,資深PHP技術(shù)工程師,精通PHP及其相關(guān)技術(shù),尤其擅長于PHP框架開發(fā)和應用架構(gòu)。他還是一位資深的Java開發(fā)工程師,具有Fortran、Scala和C++語言的開發(fā)和使用背景,在傳統(tǒng)軟件和互聯(lián)網(wǎng)開發(fā)領(lǐng)域都有豐富的實戰(zhàn)經(jīng)驗。此外,他還擅長TCP/IP編程、多線程與并發(fā)程序設(shè)計、網(wǎng)絡(luò)協(xié)議分析、數(shù)據(jù)庫性能優(yōu)化以及各種緩存技術(shù),熟悉MySQL和Oracle等關(guān)系數(shù)據(jù)庫產(chǎn)品?,F(xiàn)從事網(wǎng)絡(luò)安全軟件開發(fā),以及移動SI業(yè)務開發(fā)。對語言特性和軟件設(shè)計思想有獨到的見解,追求代碼之美和高效率程序開發(fā),愛好鉆研底層技術(shù),崇尚和提倡“以理論指導實踐”。尤其愛好數(shù)學,認為數(shù)學是培養(yǎng)和鍛煉思維和邏輯能力的重要工具,對算法有一定研究。長期活躍在PHPChina、ITeye和看雪論壇等社區(qū),在PHPChina社區(qū)擔任版主。

圖書目錄

前言
第1章 面向?qū)ο笏枷氲暮诵母拍?1
1.1 面向?qū)ο蟮摹靶巍迸c“本”/1
1.1.1 對象的“形”/2
1.1.2 對象的“本”/4
1.1.3 對象與數(shù)組/5
1.1.4 對象與類/5
1.2 魔術(shù)方法的應用/7
1.2.1 set和get方法/8
1.2.2 call和callStatic方法/9
1.2.3 toString方法/11
1.3 繼承與多態(tài)/14
1.3.1 類的組合與繼承/14
1.3.2 各種語言中的多態(tài)/19
1.4 面向接口編程/23
1.4.1 接口的作用/23
1.4.2 對PHP接口的思考/25
1.5 反射/28
1.5.1 如何使用反射API/28
1.5.2 反射有什么作用/30
1.6 異常和錯誤處理/32
1.6.1 如何使用異常處理機制/32
1.6.2 怎樣看PHP的異常/38
1.6.3 PHP中的錯誤級別/38
1.6.4 PHP中的錯誤處理機制/40
1.7 本章小結(jié)/42
第2章 面向?qū)ο蟮脑O(shè)計原則/44
2.1 面向?qū)ο笤O(shè)計的五大原則/44
2.1.1 單一職責原則/44
2.1.2 接口隔離原則/52
2.1.3 開放-封閉原則/55
2.1.4 替換原則/57
2.1.5 依賴倒置原則/59
2.2 一個面向?qū)ο罅粞员镜膶嵗?62
2.3 面向?qū)ο蟮乃伎?65
2.4 本章小結(jié)/67
第3章 正則表達式基礎(chǔ)與應用/68
3.1 認識正則表達式/68
3.1.1 PHP中的正則函數(shù)/68
3.1.2 正則表達式的組成/69
3.1.3 測試工具的使用/69
3.2 正則表達式中的元字符/70
3.2.1 什么是元字符/71
3.2.2 起始和結(jié)束元字符/72
3.2.3 點號/73
3.2.4 量詞/74
3.3 正則表達式匹配規(guī)則/74
3.3.1 字符組/74
3.3.2 轉(zhuǎn)義/75
3.3.3 反義/76
3.3.4 分支/77
3.3.5 分組/78
3.3.6 反向引用/79
3.3.7 環(huán)視/81
3.3.8 貪婪/懶惰匹配模式/83
3.4 構(gòu)造正則表達式/84
3.4.1 正則表達式的邏輯關(guān)系/85
3.4.2 運算符優(yōu)先級/87
3.4.3 正則表達式的常用模式/88
3.5 正則在實際開發(fā)中的應用/92
3.5.1 移動手機校驗/92
3.5.2 匹配E-mail地址/93
3.5.3 轉(zhuǎn)義在數(shù)據(jù)安全中的應用/93
3.5.4 URL重寫與搜索引擎優(yōu)化/95
3.5.5 刪除文件中的空行和注釋/98
3.6 正則表達式的效率與優(yōu)化/99
3.7 本章小結(jié)/103
第4章 PHP網(wǎng)絡(luò)技術(shù)及應用/105
4.1 HTTP協(xié)議詳解/105
4.1.1 HTTP協(xié)議與SPDY協(xié)議/105
4.1.2 HTTP協(xié)議如何工作/106
4.1.3 HTTP應用:模擬灌水機器人/110
4.1.4 垃圾信息防御措施/116
4.2 抓包工具/119
4.2.1 抓包工具分類/119
4.2.2 Fiddler功能與原理/119
4.2.3 安裝Fiddler/120
4.2.4 Fiddler基本界面/121
4.2.5 使用Fiddler進行HTTP斷點調(diào)試/124
4.3 Socket進程通信機制及應用/127
4.3.1 進程通信相關(guān)概念/127
4.3.2 Socket演示:實現(xiàn)服務器端與客戶端的交互/128
4.3.3 Socket函數(shù)原型/131
4.3.4 PHP中的Socket函數(shù)/131
4.3.5 Socket交互應用:使用Socket抓取數(shù)據(jù)/134
4.4 cURL工具及應用/136
4.4.1 建立cURL請求的基本步驟/136
4.4.2 檢查cURL錯誤和獲取返回信息/137
4.4.3 在cURL中偽造頭信息/138
4.4.4 在cURL中用POST方法發(fā)送數(shù)據(jù)/140
4.4.5 使用cURL上傳文件/141
4.4.6 cURL批處理/142
4.4.7 cURL設(shè)置項/144
4.4.8 網(wǎng)絡(luò)應用:使用cURL抓取騰訊微博/145
4.5 簡單郵件傳輸協(xié)議SMTP/151
4.5.1 SMTP協(xié)議如何工作/151
4.5.2 SMTP協(xié)議常用命令/153
4.5.3 SMTP協(xié)議應用:使用Socket發(fā)送郵件/153
4.6 WebService的前世今生/157
4.6.1 WebService簡介/157
4.6.2 認識PHPRPC協(xié)議/159
4.6.3 Web服務的實現(xiàn)模式/165
4.6.4 簡單對象訪問協(xié)議SOAP/166
4.6.5 調(diào)試工具soapUI/168
4.7 Cookie詳解/170
4.7.1 Cookie的基本概念及設(shè)置/170
4.7.2 PHP和JavaScript對Cookie的操作/172
4.7.3 Cookie存儲機制及應用/174
4.7.4 Cookie跨域與P3P協(xié)議/175
4.7.5 本地存儲localStorage/177
4.8 Session詳解/179
4.8.1 Session的基本概念及設(shè)置/179
4.8.2 Session的工作原理/180
4.8.3 Session入庫/181
4.8.4 Cookie與Session問答/185
4.9 本章小結(jié)/186
第5章 PHP與數(shù)據(jù)庫基礎(chǔ)/187
5.1 什么是PDO/187
5.1.1 PDO預定義類/188
5.1.2 如何使用PDO/189
5.1.3 PDO參數(shù)綁定與預編譯/189
5.1.4 PDO事務處理/191
5.1.5 PDO的效率問題/192
5.2 數(shù)據(jù)庫應用優(yōu)化/193
5.2.1 基本語句優(yōu)化10個原則/193
5.2.2 索引與性能分析/194
5.2.3 服務器和配置的優(yōu)化/197
5.2.4 MySQL瓶頸及應對措施/199
5.3 數(shù)據(jù)庫設(shè)計/200
5.3.1 范式與反范式/200
5.3.2 數(shù)據(jù)庫分區(qū)/201
5.3.3 分表的應用/203
5.4 MySQL的高級應用/205
5.4.1 MySQL自增長序列/205
5.4.2 MySQL視圖/207
5.4.3 MySQL存儲過程和事件調(diào)度/210
5.4.4 用MySQL模擬消息隊列/212
5.4.5 SQL注入漏洞與防范/216
5.5 本章小結(jié)/220
第6章 PHP模板引擎的原理與實踐/221
6.1 代碼分層的思想/221
6.2 實現(xiàn)一個簡單的模板引擎骨架/224
6.2.1 搭建模板引擎基礎(chǔ)類骨架/224
6.2.2 編譯類骨架/226
6.2.3 測試模板引擎/229
6.3 模板引擎的編譯/230
6.3.1 實現(xiàn)變量標簽/230
6.3.2 實現(xiàn)foreach標簽/231
6.3.3 實現(xiàn)if…else標簽/233
6.3.4 對PHP原生語法的支持/234
6.4 完善模板引擎/235
6.4.1 模板緩存機制的實現(xiàn)/235
6.4.2 調(diào)試和緩存清理/236
6.4.3 如何使用模板/244
6.5 常用模板引擎/245
6.5.1 Discuz模板引擎/245
6.5.2 Smarty模板引擎/246
6.5.3 DedeCms模板引擎/247
6.5.4 Blitz模板引擎/248
6.5.5 模板引擎的一些思考/249
6.6 本章小結(jié)/251
第7章 PHP擴展開發(fā)/252
7.1 為什么要開發(fā)PHP擴展/252
7.2 搭建PHP擴展框架/252
7.2.1 PHP源代碼目錄/252
7.2.2 ext_skel工具/253
7.2.3 Windows平臺環(huán)境配置/253
7.2.4 Linux平臺環(huán)境配置/256
7.2.5 PHP的生命周期/257
7.3 PHP內(nèi)核中的變量/260
7.3.1 PHP變量在內(nèi)核中的存儲方式/260
7.3.2 PHP內(nèi)核變量訪問宏/262
7.3.3 引用計數(shù)器與寫時復制/263
7.4 PHP內(nèi)核中的HashTable分析/265
7.4.1 PHP內(nèi)核HashTable的數(shù)據(jù)結(jié)構(gòu)/265
7.4.2 HashTable的代碼實現(xiàn)/270
7.5 Zend API詳解與擴展編寫/274
7.5.1 什么是Zend引擎/274
7.5.2 Zend引擎內(nèi)存管理/275
7.5.3 PHP擴展的架構(gòu)/276
7.5.4 接收用戶傳遞的參數(shù)/283
7.5.5 在PHP擴展中創(chuàng)建變量/290
7.5.6 在PHP擴展中為變量賦值/293
7.5.7 錯誤和輸出API/304
7.5.8 運行時信息函數(shù)/306
7.5.9 調(diào)用用戶自定義函數(shù)/307
7.5.10 PHP配置項/309
7.5.11 創(chuàng)建常量的宏/312
7.6 編寫一個完整的擴展/313
7.6.1 鏈表結(jié)構(gòu)的實現(xiàn)/313
7.6.2 創(chuàng)建PHP擴展框架/319
7.6.3 編寫代碼/319
7.6.4 編譯安裝擴展/327
7.6.5 測試擴展/328
7.7 本章小結(jié)/329
第8章 緩存詳解/330
8.1 認識緩存/330
8.1.1 為什么使用緩存/330
8.1.2 命中率/331
8.1.3 緩存更新策略/332
8.1.4 緩存最大數(shù)據(jù)量/333
8.2 文件緩存/333
8.2.1 文件緩存機制/333
8.2.2 文件緩存開源產(chǎn)品Secache/335
8.3 Opcode緩存/337
8.3.1 eAccelerator下載及使用/337
8.3.2 如何查看Opcode/338
8.4 客戶端緩存/340
8.4.1 客戶端緩存規(guī)則/340
8.4.2 HTTP協(xié)議中的緩存使用/341
8.4.3 HTTP緩存實例/343
8.4.4 HTML 5中的Application Cache/345
8.5 Web服務器緩存/347
8.5.1 Apache緩存/347
8.5.2 Nginx緩存/348
8.6 本章小結(jié)/349
第9章 Memcached使用與實踐/350
9.1 為什么要用Memcached/350
9.2 Memcached的安裝及使用/350
9.2.1 安裝Memcached服務器/351
9.2.2 安裝Memcached客戶端/352
9.2.3 使用memcache擴展訪問Memcached服務器/353
9.2.4 使用Memcached加速Web應用/356
9.3 深入了解Memcached/357
9.3.1 Memcached如何支持高并發(fā)/357
9.3.2 使用Slab分配算法保存數(shù)據(jù)/357
9.3.3 刪除過期item/361
9.3.4 使用LRU算法淘汰數(shù)據(jù)/362
9.3.5 Memcached多線程模型/363
9.4 Memcached分布式布置方案/366
9.4.1 普通Hash分布/366
9.4.2 一致性Hash分布/367
9.4.3 一致性Hash分布算法實例/369
9.5 本章小結(jié)/371
第10章 Redis使用與實踐/372
10.1 Redis的安裝及使用/372
10.1.1 Redis安裝步驟/372
10.1.2 修改Redis配置文件/373
10.1.3 運行Redis服務器/374
10.1.4 key相關(guān)命令/374
10.1.5 Redis支持的數(shù)據(jù)類型/375
10.1.6 Redis排序命令詳解/382
10.2 事務處理/384
10.2.1 事務處理原理/384
10.2.2 事務處理實現(xiàn)/385
10.3 持久化/387
10.3.1 內(nèi)存快照/387
10.3.2 日志追加/387
10.4 主從同步/388
10.4.1 Redis主從同步原理/388
10.4.2 Slave端的工作流程/389
10.4.3 Master端的工作流程/392
10.5 虛擬內(nèi)存/397
10.5.1 配置文件信息/397
10.5.2 開啟VM的后臺操作/398
10.5.3 Redis Object和VM Pointer/399
10.5.4 交換過程/400
10.5.5 阻塞式VM/403
10.5.6 非阻塞式VM/405
10.6 擴展庫phpredis安裝及使用/408
10.7 Redis應用實踐/409
10.7.1 使用消息隊列發(fā)布微博/409
10.7.2 Redis替代文件存儲Session/410
10.8 深入了解Redis內(nèi)核/413
10.8.1 內(nèi)存淘汰/413
10.8.2 對象引用計數(shù)器/415
10.8.3 自動關(guān)閉超時連接/418
10.8.4 清除過期數(shù)據(jù)/419
10.9 本章小結(jié)/421
第11章 高性能網(wǎng)站架構(gòu)方案/422
11.1 如何優(yōu)化網(wǎng)站響應時間/422
11.1.1 吞吐率/423
11.1.2 壓力測試/423
11.1.3 持久連接/426
11.2 MySQL響應速度提高方案:HandlerSocket/429
11.2.1 HandlerSocket工作原理/430
11.2.2 HandlerSocket安裝和配置/430
11.2.3 PHP-HandlerSocket性能測試/432
11.3 MySQL穩(wěn)定性提高方案:主從復制/433
11.3.1 主從復制工作原理/433
11.3.2 主從復制配置/434
11.3.3 連接主從服務器/436
11.4 Web應用加速方案:Varnish/438
11.4.1 傳統(tǒng)代理與反向代理/438
11.4.2 Varnish安裝和配置/439
11.4.3 Varnish性能測試/440
11.4.4 修改緩存規(guī)則/442
11.4.5 監(jiān)控Varnish運行狀態(tài)/444
11.5 異步計算方案:Gearman/445
11.5.1 Gearman工作原理/445
11.5.2 安裝Gearman和PHP擴展/447
11.5.3 使用Gearman異步發(fā)送郵件/447
11.6 本章小結(jié)/449
第12章 代碼調(diào)試和測試/450
12.1 調(diào)試PHP代碼/450
12.1.1 PHP調(diào)試函數(shù)/450
12.1.2 斷點調(diào)試與變量跟蹤工具Xdebug/454
12.2 前端調(diào)試/457
12.2.1 Firebug調(diào)試API/457
12.2.2 使用Firebug調(diào)試DOM結(jié)構(gòu)/459
12.2.3 使用Firebug調(diào)試JavaScript/460
12.2.4 使用Fiddler調(diào)試遠程服務器上的文件/462
12.3 日志管理/463
12.3.1 PHP日志/463
12.3.2 Apache服務器日志/464
12.3.3 MySQL日志/465
12.4 代碼性能測試技術(shù)/468
12.4.1 時間點測試/468
12.4.2 文件查看工具WinCacheGrind/469
12.4.3 性能測試注意事項/471
12.5 單元測試/472
12.5.1 單元測試框架PHPUnit的安裝/472
12.5.2 結(jié)合NetBeans使用PHPUnit進行單元測試/473
12.5.3 PHPUnit中的斷言函數(shù)/476
12.5.4 PHPUnit常用方法/478
12.5.5 PHPUnit常用注解/478
12.6 壓力測試/480
12.6.1 使用JMeter壓力測試HTTP/480
12.6.2 壓力測試MySQL/484
12.6.3 JMeter+Badboy組合測試/487
12.7 本章小結(jié)/489
第13章 Hash算法與數(shù)據(jù)庫實現(xiàn)/490
13.1 Hash函數(shù)/490
13.2 Hash算法/490
13.2.1 直接取余法/490
13.2.2 乘積取整法/490
13.2.3 經(jīng)典Hash算法Times33/491
13.3 Hash表/491
13.3.1 Hash表結(jié)構(gòu)/491
13.3.2 使用PHP實現(xiàn)Hash表/492
13.3.3 Hash表沖突/493
13.3.4 拉鏈法解決沖突/494
13.4 一個小型數(shù)據(jù)庫的實現(xiàn)/496
13.4.1 pack函數(shù)的用法/497
13.4.2 unpack函數(shù)的用法/499
13.4.3 索引文件和數(shù)據(jù)文件/500
13.4.4 數(shù)據(jù)庫接口方法/501
13.4.5 源代碼解析/502
13.4.6 測試代碼/509
13.5 本章小結(jié)/510
第14章 PHP編碼規(guī)范/511
14.1 文件格式/511
14.1.1 文件標記/511
14.1.2 文件和目錄命名/512
14.1.3 文件目錄結(jié)構(gòu)/512
14.2 命名規(guī)范/513
14.2.1 變量命名/513
14.2.2 類及接口命名/514
14.2.3 數(shù)據(jù)庫命名/514
14.2.4 習慣與約定/515
14.3 注釋規(guī)范/516
14.3.1 程序注釋/516
14.3.2 文件注釋/518
14.3.3 類/接口注釋/518
14.3.4 方法和函數(shù)注釋/518
14.3.5 標注的使用/519
14.4 代碼風格/520
14.4.1 縮進和空格/520
14.4.2 語句斷行/520
14.4.3 更好的習慣/521
14.5 本章小結(jié)/521

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號