PHP7核心剖析

PHP7核心剖析

PHP作為流行的語言之一,自第一個版本發布,二十幾年裡經歷了多次重大改進,PHP7版本最大的特色在於其性能上的突破,比PHP5快了一倍。PHP7已經得到了廣泛套用,越來越多的項目從PHP5遷移到了PHP7。關於PHP核心的資料非常有限,本書以當前流行的PHP7版本為基礎,系統性地、儘可能詳細地介紹PHP語言底層的實現,旨在幫助更多的開發者進一步理解PHP,參與到PHP的實現中,為未來PHP的發展貢獻一份力量!全書內容主要包括PHP數據類型的實現、PHP的編譯及執行、PHP記憶體的管理、函式及面向對象的實現、PHP基礎語法的實現,以及PHP擴展的開發。

基本介紹

  • 書名:PHP7核心剖析 
  • 作者:秦朋
  • ISBN:9787121328107 
  • 類別:程式語言
  • 頁數:492
  • 定價:¥89.0
  • 出版社:電子工業出版社 
  • 出版時間:2017-10
  • 開本:16開
序言,目錄,

序言

PHP是一門優秀的Web開發的程式語言,一直說PHP是世界“最優秀”的語言,其他各個語言,包括Python/Java等語言都有相應的源碼剖析或者核心解讀之類的書籍,哪怕MySQL/Redis等都有相應的源碼解讀書籍。除了零零碎碎的一些PHP核心描述的文章,真正關於核心的書籍只有英文的《Extending and Embedding PHP》,中文電子版的《TIPI:深入理解PHP核心》算是相對比較專業的描述PHP核心特性的書籍。

目錄

第1章 PHP基礎架構
1.1 簡介
1.2 安裝及調試
1.3 PHP7的變化
1.4 PHP的構成
1.5 生命周期
1.6 小結
第2章 SAPI
2.1 Cli
2.1.1 執行流程
2.1.2 內置Web伺服器
2.2 Fpm
2.2.1 基本實現
2.2.2 Fpm的初始化
2.2.3 worker——請求處理
2.2.4 master——進程管理
2.3 Embed
2.3.1 實現
2.3.2 使用
2.4 小結
第3章 數據類型
3.1 變數
3.1.1 變數類型
3.1.2 內部實現
3.2 字元串
3.3 數組
3.3.1 基本實現
3.3.2 散列函式
3.3.3 數組的初始化
3.3.4 插入
3.3.5 哈希衝突
3.3.6 查找
3.3.7 擴容
3.4 引用
3.5 類型轉換
3.5.1 轉換為NULL
3.5.2 轉換為布爾型
3.5.3 轉換為整型
3.5.4 轉換為浮點型
3.5.5 轉換為字元串
3.5.6 轉換為數組
3.5.7 轉換為對象
3.6 小結
第4章 記憶體管理
4.1 變數的自動GC機制
4.1.1 引用計數
4.1.2 寫時複製
4.1.3 回收時機
4.2 垃圾回收
4.2.1 回收算法
4.2.2 具體實現
4.3 記憶體池
4.3.1 記憶體池的初始化
4.3.2 記憶體分配
4.3.3 系統記憶體分配
4.3.4 記憶體釋放
4.4 執行緒安全
4.4.1 TSRM的基本實現
4.4.2 執行緒私有數據
4.5 小結
第5章 PHP的編譯與執行
5.1 語言的編譯與執行
5.1.1 編譯型語言
5.1.2 解釋型語言
5.2 Zend虛擬機
5.2.1 opline指令
5.2.2 zend_op_array
5.2.3 zend_execute_data
5.2.4 zend_executor_globals
5.3 PHP的編譯
5.3.1 詞法、語法解析
5.3.2 抽象語法樹編譯
5.3.3 pass_two()
5.4 PHP的執行
5.4.1 handler的定義
5.4.2 調度方式
5.4.3 執行流程
5.4.4 全局execute_data和
opline
5.5 運行時快取
5.6 Opcache
5.6.1 opcode最佳化
5.6.2 JIT
5.7 小結
第6章 函式
6.1 用戶自定義函式
6.1.1 語法解析
6.1.2 抽象語法樹的編譯
6.2 內部函式
6.3 函式的調用
6.4 函式的執行
6.5 小結
第7章 面向對象
7.1 類
7.1.1 常量
7.1.2 成員屬性
7.1.3 成員方法
7.1.4 類的編譯
7.1.5 內部類
7.1.6 類的自動載入
7.2 對象
7.2.1 對象的創建
7.2.2 非靜態成員屬性的讀寫
7.2.3 對象的複製
7.2.4 對象的比較
7.2.5 對象的銷毀
7.3 繼承
7.3.1 常量的繼承
7.3.2 成員屬性的繼承
7.3.3 成員方法的繼承
7.4 動態屬性
7.5 魔術方法
7.6 小結
第8章 命名空間
8.1 概述
8.2 命名空間的定義
8.3 命名空間的使用
8.3.1 use導入
8.3.2 動態用法
8.4 小結
第9章 PHP基礎語法的實現
9.1 靜態變數
9.2 常量
9.2.1 const
9.2.2 define()
9.3 全局變數
9.3.1 全局變數符號表
9.3.2 全局變數的訪問
9.3.3 全局變數的銷毀
9.3.4 超全局變數
9.4 分支結構
9.4.1 if
9.4.2 switch
9.5 循環結構
9.5.1 while
9.5.2 do while
9.5.3 for
9.5.4 foreach
9.6 中斷及跳轉
9.6.1 break/continue
9.6.2 goto
9.7 include/require
9.8 異常處理
9.8.1 PHP中的try catch
9.8.2 核心中的異常處理
9.9 break/continue LABEL語法的
實現
9.10 小結
第10章 擴展開發
10.1 擴展的內部實現
10.2 擴展的構成及編譯
10.2.1 腳本工具
10.2.2 擴展的編寫步驟
10.2.3 config.m4
10.3 鉤子函式
10.3.1 模組初始化階段
10.3.2 請求初始化階段
10.3.3 請求結束階段
10.3.4 post deactivate階段
10.3.5 模組關閉階段
10.4 全局資源
10.5 ini配置
10.6 函式
10.6.1 內部函式註冊
10.6.2 函式參數解析
10.6.3 引用傳參
10.6.4 函式返回值
10.6.5 函式調用
10.7 Zval的操作
10.7.1 zval的創建及獲取
10.7.2 變數複製
10.7.3 引用計數
10.7.4 字元串操作
10.7.5 數組操作
10.8 常量
10.9 面向對象
10.9.1 內部類註冊
10.9.2 成員屬性
10.9.3 成員方法
10.9.4 常量
10.9.5 類的實例化
10.10 資源
10.11 小結

相關詞條

熱門詞條

聯絡我們