PHP原始碼閱讀 Part1 結構

2022-05-04 21:03:10 字數 860 閱讀 1821

注:這篇文章的內容出自ircmaxell的部落格,這裡只是翻譯整理一下!

了解一件事情背後的原理,可以讓我們處理起這件事情更加得心應手。這是php原始碼的第一篇博文,主要簡單介紹從**獲取原始碼、原始碼的大概結構。另外,這裡原始碼統一使用5.4版本,一定要注意這點,後面的實驗可能會因為版本不同而出現意外的結果。

去**找到原始碼

切換為5.4版本:

cd php-src 

git checkout php-5.4

有了原始碼你就可以選擇一款你喜歡的ide,進行檢視,不過這裡強烈推薦使用php社群提供的乙個php原始碼分析分析工具,**為lxr.php.net。這個工具提供了基本的搜尋、定義跳轉等功能,分析原始碼足夠了。

php原始碼結構

php的原始碼是用c語言寫的,進入到php原始碼根目錄,你會發現很多檔案,頓感迷惑。現在我們只需要把注意力集中在ext和zend兩個目錄。其他的檔案我們暫時不會用到。

php主要分為兩個部分,第一部分是zend引擎,主要處理"語言"級別的事情,為我們的php**提供執行環境。我們寫好的**要經過zend引擎的語法解析,執行。可以說沒有zend引擎就沒有php。相應的zend引擎的原始碼就存放在剛才的zend目錄下。

php第二部分就是大量的核心擴充套件,說白了就是那些常用的函式,比如:strpos、array_diff、mysql_connect等等,當然也包括一些類庫,如pdo。這部分的原始碼主要在剛才的ext目錄下。

具體可以相應的參照php手冊的「語法」和「函式參考」兩部分。

hadoop原始碼閱讀 1 原始碼目錄結構

由於版本的不同,可能部分目錄有些不同.bin 此目錄下為進行hadoop配置 執行以及管理的shell命令集合 c 此目錄下為linux下amd64 64位系統以及i386 32位系統提供的庫檔案集合 conf 此目錄下為執行與配置hadoop環境需要的配置檔案以及示例檔案集合,實際執行時可以對照此...

hadoop原始碼閱讀 1 原始碼目錄結構

由於版本的不同,可能部分目錄有些不同.bin 此目錄下為進行hadoop配置 執行以及管理的shell命令集合 c 此目錄下為linux下amd64 64位系統以及i386 32位系統提供的庫檔案集合 conf 此目錄下為執行與配置hadoop環境需要的配置檔案以及示例檔案集合,實際執行時可以對照此...

PHP基礎知識總結 part 1

php 指令碼可放置於文件中的任何位置。php 指令碼以 開頭,以 結尾 此處是 php php 檔案的預設副檔名是 php php 檔案通常包含 html 標籤以及一些 php 指令碼 例項 echo hello world 執行結果 hello worlg hello world 注意 php ...