php之所以能在web開發語言中排名靠前,不僅僅是因為語法簡單,上手容易。我個人認為更多是因為其語言本身的:模組的易擴充套件性,可維護性以及記憶體安全管理等特點。寫過php的程式設計師不一定都知道:php是如何執行的?其組織結構目錄的作用?如果對其有所了解,對php的認識會更深入,寫出的**也會更高效,更健壯......
1. build 和編譯有關的目錄。
2. ext 擴充套件庫**,例如 mysql、zlib、iconv 等我們熟悉的擴充套件庫。其中/ext/standard/目錄下是常用的標準函式集。
3. main 主目錄包含主要的 php 巨集和定義。
4. sapi 和各種伺服器的介面呼叫,例如apache、iis等,也包含一般的fastcgi、cgi等。
5. win32 和 windows 下編譯 php 有關的指令碼。
6. zend 資料夾核心的引擎,所有的 zend api 定義與巨集等。
7. scripts linux 下的指令碼目錄。
8. tests 測試指令碼目錄
9. sapi 各類 web 伺服器的介面。
10.tsrm zend 和 php 的 「執行緒安全資源管理器」 (tsrm) 目錄。
11.pear 這個目錄就是「php 擴充套件與應用倉庫」的目錄。包含了pear 的核心檔案。
其中幾個重要的檔案絕對值得你共時間去了解:
php-src/main/php.h, 位於php 主目錄。這個檔案包含了絕大部分 php 巨集及 api 定義。
php-src/zend/zend.h, 位於 zend 主目錄。這個檔案包含了絕大部分 zend 巨集及 api定義。
php-src/zend/zend_api.h, 也位於 zend 主目錄,包含了zend api的定義
Promise原始碼深入理解
promise的第一版實現 function mypromise constructor function reject reason 捕獲構造異常 try catch e mypromise.prototype.then function onfullfilled,onrejected var p...
Okhttp深入理解及原始碼解析
okhttpclient okhttpclient new okhttpclient 第一行 request request new request.builder url url build 第二行 call call okhttpclient.newcall request 第三行 1 建立 o...
深入理解AQS原始碼解析一
三 最後小結一下 一 概念 我們談到併發,就不得不談reentrantlock鎖 而談到reentrantlock鎖,不得不談一下abstractqueuedsynchronized aqs 類如其名,抽象的佇列式的同步器,aqs定義了一套多執行緒訪問共享資源的同步器框架,許多同步類實現都依賴於它,...