發表於2024-11-21
本書係統歸納和深刻解讀PHP開發中的編程思想、底層原理、核心技術、開發技巧、編碼規範和實踐,為PHP程序員進階修煉提供全麵而高效的指導!
前言
第1章 麵嚮對象思想的核心概念
1.1 麵嚮對象的“形”與“本”
1.1.1 對象的“形”
1.1.2 對象的“本”
1.1.3 對象與數組
1.1.4 對象與類
1.2 魔術方法的應用
1.2.1 set和get方法
1.2.2 call和callStatic方法
1.2.3 toString方法
1.3 繼承與多態
1.3.1 類的組閤與繼承
1.3.2 各種語言中的多態
1.4 麵嚮接口編程
1.4.1 接口的作用
1.4.2 對PHP接口的思考
1.5 反射
1.5.1 如何使用反射API
1.5.2 反射有什麼作用
1.6 異常和錯誤處理
1.6.1 如何使用異常處理機製
1.6.2 怎樣看PHP的異常
1.6.3 PHP中的錯誤級彆
1.6.4 PHP中的錯誤處理機製
1.7 本章小結
第2章 麵嚮對象的設計原則
2.1 麵嚮對象設計的五大原則
2.1.1 單一職責原則
2.1.2 接口隔離原則
2.1.3 開放-封閉原則
2.1.4 替換原則
2.1.5 依賴倒置原則
2.2 一個麵嚮對象留言本的實例
2.3 麵嚮對象的思考
2.4 本章小結
第3章 正則錶達式基礎與應用
3.1 認識正則錶達式
3.1.1 PHP中的正則函數
3.1.2 正則錶達式的組成
3.1.3 測試工具的使用
3.2 正則錶達式中的元字符
3.2.1 什麼是元字符
3.2.2 起始和結束元字符
3.2.3 點號
3.2.4 量詞
3.3 正則錶達式匹配規則
3.3.1 字符組
3.3.2 轉義
3.3.3 反義
3.3.4 分支
3.3.5 分組
3.3.6 反嚮引用
3.3.7 環視
3.3.8 貪婪懶惰匹配模式
3.4 構造正則錶達式
3.4.1 正則錶達式的邏輯關係
3.4.2 運算符優先級
3.4.3 正則錶達式的常用模式
3.5 正則在實際開發中的應用
3.5.1 移動手機校驗
3.5.2 匹配E-mail地址
3.5.3 轉義在數據安全中的應用
3.5.4 URL重寫與搜索引擎優化
3.5.5 刪除文件中的空行和注釋
3.6 正則錶達式的效率與優化
3.7 本章小結
第4章 PHP網絡技術及應用
4.1 HTTP協議詳解
4.1.1 HTTP協議與SPDY協議
4.1.2 HTTP協議如何工作
4.1.3 HTTP應用:模擬灌水機器人
4.1.4 垃圾信息防禦措施
4.2 抓包工具
4.2.1 抓包工具分類
4.2.2 Fiddler功能與原理
4.2.3 安裝Fiddler
4.2.4 Fiddler基本界麵
4.2.5 使用Fiddler進行HTTP斷點調試
4.3 Socket進程通信機製及應用
4.3.1 進程通信相關概念
4.3.2 Socket演示:實現服務器端與客戶端的交互
4.3.3 Socket函數原型
4.3.4 PHP中的Socket函數
4.3.5 Socket交互應用:使用Socket抓取數據
4.4 cURL工具及應用
4.4.1 建立cURL請求的基本步驟
4.4.2 檢查cURL錯誤和獲取返迴信息
4.4.3 在cURL中僞造頭信息
4.4.4 在cURL中用POST方法發送數據
4.4.5 使用cURL上傳文件
4.4.6 cURL批處理
4.4.7 cURL設置項
4.4.8 網絡應用:使用cURL抓取騰訊微博
4.5 簡單郵件傳輸協議SMTP
4.5.1 SMTP協議如何工作
4.5.2 SMTP協議常用命令
4.5.3 SMTP協議應用:使用Socket發送郵件
4.6 WebService的前世今生
4.6.1 WebService簡介
4.6.2 認識PHPRPC協議
4.6.3 Web服務的實現模式
4.6.4 簡單對象訪問協議SOAP
4.6.5 調試工具soapUI
4.7 Cookie詳解
4.7.1 Cookie的基本概念及設置
4.7.2 PHP和JavaScript對Cookie的操作
4.7.3 Cookie存儲機製及應用
4.7.4 Cookie跨域與P3P協議
4.7.5 本地存儲localStorage
4.8 Session詳解
4.8.1 Session的基本概念及設置
4.8.2 Session的工作原理
4.8.3 Session入庫
4.8.4 Cookie與Session問答
4.9 本章小結
第5章 PHP與數據庫基礎
5.1 什麼是PDO
5.1.1 PDO預定義類
5.1.2 如何使用PDO
5.1.3 PDO參數綁定與預編譯
5.1.4 PDO事務處理
5.1.5 PDO的效率問題
5.2 數據庫應用優化
5.2.1 基本語句優化10個原則
5.2.2 索引與性能分析
5.2.3 服務器和配置的優化
5.2.4 MySQL瓶頸及應對措施
5.3 數據庫設計
5.3.1 範式與反範式
5.3.2 數據庫分區
5.3.3 分錶的應用
5.4 MySQL的高級應用
5.4.1 MySQL自增長序列
5.4.2 MySQL視圖
5.4.3 MySQL存儲過程和事件調度
5.4.4 用MySQL模擬消息隊列
5.4.5 SQL注入漏洞與防範
5.5 本章小結
第6章 PHP模闆引擎的原理與實踐
6.1 代碼分層的思想
6.2 實現一個簡單的模闆引擎骨架
6.2.1 搭建模闆引擎基礎類骨架
6.2.2 編譯類骨架
6.2.3 測試模闆引擎
6.3 模闆引擎的編譯
6.3.1 實現變量標簽
6.3.2 實現foreach標簽
6.3.3 實現if…else標簽
6.3.4 對PHP原生語法的支持
6.4 完善模闆引擎
6.4.1 模闆緩存機製的實現
6.4.2 調試和緩存清理
6.4.3 如何使用模闆
6.5 常用模闆引擎
6.5.1 Discuz模闆引擎
6.5.2 Smarty模闆引擎
6.5.3 DedeCms模闆引擎
6.5.4 Blitz模闆引擎
6.5.5 模闆引擎的一些思考
6.6 本章小結
第7章 PHP擴展開發
7.1 為什麼要開發PHP擴展
7.2 搭建PHP擴展框架
7.2.1 PHP源代碼目錄
7.2.2 ext_skel工具
7.2.3 Windows平颱環境配置
7.2.4 Linux平颱環境配置
7.2.5 PHP的生命周期
7.3 PHP內核中的變量
7.3.1 PHP變量在內核中的存儲方式
7.3.2 PHP內核變量訪問宏
7.3.3 引用計數器與寫時復製
7.4 PHP內核中的HashTable分析
7.4.1 PHP內核HashTable的數據結構
7.4.2 HashTable的代碼實現
7.5 Zend API詳解與擴展編寫
7.5.1 什麼是Zend引擎
7.5.2 Zend引擎內存管理
7.5.3 PHP擴展的架構
7.5.4 接收用戶傳遞的參數
7.5.5 在PHP擴展中創建變量
7.5.6 在PHP擴展中為變量賦值
7.5.7 錯誤和輸齣API
7.5.8 運行時信息函數
7.5.9 調用用戶自定義函數
7.5.10 PHP配置項
7.5.11 創建常量的宏
7.6 編寫一個完整的擴展
7.6.1 鏈錶結構的實現
7.6.2 創建PHP擴展框架
7.6.3 編寫代碼
7.6.4 編譯安裝擴展
7.6.5 測試擴展
7.7 本章小結
第8章 緩存詳解
8.1 認識緩存
8.1.1 為什麼使用緩存
8.1.2 命中率
8.1.3 緩存更新策略
8.1.4 緩存最大數據量
8.2 文件緩存
8.2.1 文件緩存機製
8.2.2 文件緩存開源産品Secache
8.3 Opcode緩存
8.3.1 eAccelerator下載及使用
8.3.2 如何查看Opcode
8.4 客戶端緩存
8.4.1 客戶端緩存規則
8.4.2 HTTP協議中的緩存使用
8.4.3 HTTP緩存實例
8.4.4 HTML 5中的Application Cache
8.5 Web服務器緩存
8.5.1 Apache緩存
8.5.2 Nginx緩存
8.6 本章小結
第9章 Memcached使用與實踐
9.1 為什麼要用Memcached
9.2 Memcached的安裝及使用
9.2.1 安裝Memcached服務器
9.2.2 安裝Memcached客戶端
9.2.3 使用memcache擴展訪問Memcached服務器
9.2.4 使用Memcached加速Web應用
9.3 深入瞭解Memcached
9.3.1 Memcached如何支持高並發
9.3.2 使用Slab分配算法保存數據
9.3.3 刪除過期item
9.3.4 使用LRU算法淘汰數據
9.3.5 Memcached多綫程模型
9.4 Memcached分布式布置方案
9.4.1 普通Hash分布
9.4.2 一緻性Hash分布
9.4.3 一緻性Hash分布算法實例
9.5 本章小結
第10章 Redis使用與實踐
10.1 Redis的安裝及使用
10.1.1 Redis安裝步驟
10.1.2 修改Redis配置文件
10.1.3 運行Redis服務器
10.1.4 key相關命令
10.1.5 Redis支持的數據類型
10.1.6 Redis排序命令詳解
10.2 事務處理
10.2.1 事務處理原理
10.2.2 事務處理實現
10.3 持久化
10.3.1 內存快照
10.3.2 日誌追加
10.4 主從同步
10.4.1 Redis主從同步原理
10.4.2 Slave端的工作流程
10.4.3 Master端的工作流程
10.5 虛擬內存
10.5.1 配置文件信息
10.5.2 開啓VM的後颱操作
10.5.3 Redis Object和VM Pointer
10.5.4 交換過程
10.5.5 阻塞式VM
10.5.6 非阻塞式VM
10.6 擴展庫phpredis安裝及使用
10.7 Redis應用實踐
10.7.1 使用消息隊列發布微博
10.7.2 Redis替代文件存儲Session
10.8 深入瞭解Redis內核
10.8.1 內存淘汰
10.8.2 對象引用計數器
10.8.3 自動關閉超時連接
10.8.4 清除過期數據
10.9 本章小結
第11章 高性能網站架構方案
11.1 如何優化網站響應時間
11.1.1 吞吐率
11.1.2 壓力測試
11.1.3 持久連接
11.2 MySQL響應速度提高方案:HandlerSocket
11.2.1 HandlerSocket工作原理
11.2.2 HandlerSocket安裝和配置
11.2.3 PHP-HandlerSocket性能測試
11.3 MySQL穩定性提高方案:主從復製
11.3.1 主從復製工作原理
11.3.2 主從復製配置
11.3.3 連接主從服務器
11.4 Web應用加速方案:Varnish
11.4.1 傳統代理與反嚮代理
11.4.2 Varnish安裝和配置
11.4.3 Varnish性能測試
11.4.4 修改緩存規則
11.4.5 監控Varnish運行狀態
11.5 異步計算方案:Gearman
11.5.1 Gearman工作原理
11.5.2 安裝Gearman和PHP擴展
11.5.3 使用Gearman異步發送郵件
11.6 本章小結
第12章 代碼調試和測試
12.1 調試PHP代碼
12.1.1 PHP調試函數
12.1.2 斷點調試與變量跟蹤工具Xdebug
12.2 前端調試
12.2.1 Firebug調試API
12.2.2 使用Firebug調試DOM結構
12.2.3 使用Firebug調試JavaScript
12.2.4 使用Fiddler調試遠程服務器上的文件
12.3 日誌管理
12.3.1 PHP日誌
12.3.2 Apache服務器日誌
12.3.3 MySQL日誌
12.4 代碼性能測試技術
12.4.1 時間點測試
12.4.2 文件查看工具WinCacheGrind
12.4.3 性能測試注意事項
12.5 單元測試
12.5.1 單元測試框架PHPUnit的安裝
12.5.2 結閤NetBeans使用PHPUnit進行單元測試
12.5.3 PHPUnit中的斷言函數
12.5.4 PHPUnit常用方法
12.5.5 PHPUnit常用注解
12.6 壓力測試
12.6.1 使用JMeter壓力測試HTTP
12.6.2 壓力測試MySQL
12.6.3 JMeter+Badboy組閤測試
12.7 本章小結
第13章 Hash算法與數據庫實現
13.1 Hash函數
13.2 Hash算法
13.2.1 直接取餘法
13.2.2 乘積取整法
13.2.3 經典Hash算法Times33
13.3 Hash錶
13.3.1 Hash錶結構
13.3.2 使用PHP實現Hash錶
13.3.3 Hash錶衝突
13.3.4 拉鏈法解決衝突
13.4 一個小型數據庫的實現
13.4.1 pack函數的用法
13.4.2 unpack函數的用法
13.4.3 索引文件和數據文件
13.4.4 數據庫接口方法
13.4.5 源代碼解析
13.4.6 測試代碼
13.5 本章小結
第14章 PHP編碼規範
14.1 文件格式
14.1.1 文件標記
14.1.2 文件和目錄命名
14.1.3 文件目錄結構
14.2 命名規範
14.2.1 變量命名
14.2.2 類及接口命名
14.2.3 數據庫命名
14.2.4 習慣與約定
14.3 注釋規範
14.3.1 程序注釋
14.3.2 文件注釋
14.3.3 類接口注釋
14.3.4 方法和函數注釋
14.3.5 標注的使用
14.4 代碼風格
14.4.1 縮進和空格
14.4.2 語句斷行
14.4.3 更好的習慣
14.5 本章小結
PHP核心技術與最佳實踐 下載 mobi pdf epub txt 電子書 格式 2024
PHP核心技術與最佳實踐 下載 mobi epub pdf 電子書還不錯還不錯還不錯還不錯還不錯還不錯
評分書很好!!!!!!!
評分一直在京東買東西,值得信賴,不錯!
評分很好,很不錯,很有趣,很貼切,很科學,對初學者友好
評分這幾天要搞明白書中的幾個概念,想寫個文獻綜述
評分感謝**哥,感謝****
評分希望可以認真看完,提升自己實力。
評分內容不錯,好好
評分湊閤,湊閤
PHP核心技術與最佳實踐 mobi epub pdf txt 電子書 格式下載 2024