PHP7內核剖析

PHP7內核剖析 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
秦朋 著



點擊這裡下載
    


想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-05-10

類似圖書 點擊查看全場最低價

圖書介紹

齣版社: 電子工業齣版社
ISBN:9787121328107
版次:1
商品編碼:12267210
品牌:Broadview
包裝:平裝
開本:16開
齣版時間:2017-10-01
用紙:膠版紙
頁數:492
正文語種:中文


相關圖書





圖書描述

産品特色

編輯推薦

適讀人群 :本書適用於有一定C語言基礎的PHP高級工程師,或者想瞭解PHP7的內部實現、擴展開發的工程師。

基於PHP7,深刻揭示內核原理

內容翔實,詳細介紹PHP語言底層的實現

助力開發者進一步理解PHP,參與到PHP的實現中


內容簡介

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

作者簡介

目前就職於滴滴引擎技術部,負責專快車分單架構相關的工作,曾作為核心成員參與瞭滴滴小巴業務綫的成立,曾先後就職於360、搜狗,有4年多的PHP、C、Golang開發經驗,熟悉PHP擴展的實現,對PHP內核有深入的理解。

精彩書評

《PHP7內核剖析》有彆與市麵上的其他PHP技術圖書,它不是介紹PHP如何應用,而是深入講解PHP語言的底層實現原理。它麵嚮的是具備較多PHP項目經驗的中高級的開發者。閱讀本書可以幫助開發者瞭解PHP內核實現,對PHP有更深入更全麵更清晰的理解,有助於開發者將自身技術水平提升到一個新的層次。

——韓天峰(車輪互聯總架構師,Swoole創始人)


此書圖文並茂,內容詳實,細緻。非常適閤對PHP有一定瞭解,想深入學習PHP運行機製的同學。

——信海龍(阿裏巴巴技術專傢)


在PHP社區中,關於PHP內核的資料非常有限,大部分PHP開發者停留在使用的階段,而對PHP的內部實現少有涉獵。該書彌補瞭這一缺憾,從變量、基礎語法的實現到PHP的編譯、執行以及函數、麵嚮對象的實現,非常全麵、詳細的介紹瞭PHP7底層的原理,強烈推薦!

——柏強利(滴滴高級開發工程師)


目錄

目  錄


第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.4.3 綫程局部存儲
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 小結

前言/序言

為什麼要寫這本書
PHP作為最流行的語言之一,自第一個版本發布至今的二十幾年裏經曆瞭多次重大的改進,尤其是PHP7版本的發布,其最大的亮點在於性能上的提升,比PHP5快瞭一倍。隨著PHP7的不斷普及,越來越多的項目從PHP5遷移到瞭PHP7,毫無疑問,PHP7將成為PHP曆史上裏程碑式的一個版本。我是在大學時代接觸到的PHP,初次相識就被其簡潔、易用的語法所吸引瞭。在工作後的幾年裏,我一直使用PHP作為主要的開發語言。當然,除瞭PHP,我也使用過很多其他語言,比如C、C++、Java、Golang、Python等,不同的語言有各自的特點、優勢,讓我印象最深的、也讓我最喜歡的有C、Golang、PHP。
C
這是我評價最高的一門語言,其強大的操控能力、簡潔的語法、易於理解的處理方式無一不讓我摺服。編程語言本身隻是控製計算機的一種工具,然而很多高級語言過度隔離瞭人與計算機間的聯係,使得編程者並不理解計算機實際的工作機製,隻能被編程語言限定在固定範圍內,而C語言在這一點上做得恰到好處,其沒有過度乾預我們對計算機的操控,允許我們自由地控製內存、CPU。當然,C語言也有很多不方便的地方,過於簡單的接口使得很多操作不得不通過編寫大量的代碼來實現。
Golang
並發是我對其最大的印象,我們可以用更容易理解的方式來實現並發,但是它的內存控製沒有C語言那麼方便、靈活。
PHP
PHP的底層是C語言實現的,這也使得它繼承瞭很多C語言的基因,PHP的簡潔、易用、學習成本低等特點成就瞭它今天的地位。
PHP的高度封裝性與弱類型的特點使得很多操作極其簡便,例如JSON的解析如果在Golang中完成,則需要定義一係列的結構體,然後纔能完成解析,而在PHP中通過一行代碼就可以完成。正是PHP底層的強大纔得以實現如此簡便的操作,那麼強大的PHP背後到底是什麼樣子的呢?我想很多PHPer都有過這個疑問。然而讓人感到沮喪的是,關於PHP內核的資料非常有限,已有的這些資料也不全麵、係統,多數局限在理論介紹的層麵上。後來我就直接去讀PHP的源碼,漸漸地發現,以前很多不理解的問題都在源碼中找到瞭答案。本書主要的齣發點是給那些想要瞭解PHP底層實現的讀者一些啓發,幫助更多的人理解PHP的實現,甚至能夠參與到PHP的開發中,為未來PHP的發展貢獻一份力量!
本書適閤的對象
有一定C語言基礎的讀者。
想要理解PHP內部實現的讀者。
PHP高級工程師。
對虛擬機實現感興趣的讀者。
本書不適閤作為PHP的入門教程。書中對於基礎性的、概念性的東西介紹很少,重點是源碼解析。
本書的結構
本書總共分為10章,章節之間存在一定的銜接,建議按照先後順序閱讀。其中第3~第9章為Zend引擎相關的內容,也是本書的核心章節。
第1章介紹PHP的基礎內容。本章主要介紹PHP的曆史發展、PHP7的主要變化,重點講解PHP的構成部分與生命周期的幾個階段。
第2章介紹SAPI。本章選取瞭PHP三種常見的應用場景,介紹三個不同SAPI的實現:Cli、Fpm、Embed。SAPI是PHP的接入層,如果隻想瞭解Zend引擎的內容,那麼可以跳過本章。
第3章介紹數據類型。本章主要介紹PHP中變量的基礎結構zval,以及不同類型的結構,它們是PHP中最基礎的、使用最頻繁的數據結構,通過本章的內容你將瞭解PHP中變量的內部實現。
第4章介紹內存管理。本章主要介紹PHP變量自動迴收機製的實現,以及PHP底層內存池、綫程安全相關的實現。通過本章的內容,你將瞭解變量的內存是如何進行管理的,為什麼PHP中的變量不需要手動申請釋放。其中內存池的實現比較獨立,它的實現與tcmalloc類似;綫程安全隻在多綫程環境下使用,常見的Fpm、Cli模式不會用到,本書其他章節介紹的內容都是非綫程安全的。
第5章介紹PHP的編譯與執行。本章介紹PHP代碼從編譯到執行的整個過程,這也是Zend引擎的核心實現。通過對本章的學習,你將瞭解PHP代碼是如何被Zend引擎識彆、執行的。
第6章介紹函數的實現。本章介紹PHP中函數的實現,這也是Zend引擎的核心部分,本章的內容與第5章相關,介紹函數的編譯與執行。
第7章介紹麵嚮對象。本章介紹麵嚮對象相關的實現,主要包括類、對象的內部實現。
第8章介紹命名空間。本章介紹PHP中命名空間的實現,這部分內容比較簡單,命名空間隻涉及編譯階段。
第9章介紹基礎語法的實現。本章主要介紹PHP中基礎語法的實現,比如條件分支、循環結構、中斷跳轉、靜態變量、常量、全局變量、文件加載等,這些語法涉及PHP的編譯、執行,它們是PHP語言的基礎組成部分。通過對本章的學習,你可以更全麵地掌握PHP語言的實現。
第10章介紹擴展開發。本章的內容偏嚮應用性,主要介紹擴展開發中常用的一些接口、宏。
勘誤與支持
因個人水平有限,以及時間比較倉促,書中難免有不足之處,還望讀者批評指正。如果你對本書有比較好的建議或對書中內容有所疑惑,可與我聯係。
Email:pangudashu@gmail.com;QQ群:103330909
緻謝
首先感謝PHP7的主要開發者鳥哥與PHP社區的其他開發者,正是他們的智慧造就瞭PHP,期待未來PHP能夠有更加廣闊的發展空間。在這裏尤其要感謝Swoole的創始人韓天峰老師,本項目有幸得到韓老師的推薦,得到瞭眾多人的關注。另外要單獨感謝陳曉猛編輯,在他耐心地指導、審稿、修改工作下,最終纔有瞭本書的誕生。
秦朋


PHP7內核剖析 下載 mobi epub pdf txt 電子書 格式

PHP7內核剖析 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

PHP7內核剖析 下載 mobi pdf epub txt 電子書 格式 2024

PHP7內核剖析 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

很不錯

評分

不錯,內容挺深的,相信京東,京東棒棒噠,尤其是物流

評分

東西還不錯。。。。。。。

評分

隨便看看,隨便評價,嗯,書外錶沒損沒破沒汙漬

評分

書當然是好書,紙質質量一般

評分

圖書質量不錯,很好用

評分

嗯。書很好,就是比較有深度。初學者不要嘗試。。。

評分

專業用書,提高幫助業務能力。

評分

迎接php7

類似圖書 點擊查看全場最低價

PHP7內核剖析 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.qciss.net All Rights Reserved. 圖書大百科 版權所有