天天看點

php核心G宏

EG()、這個宏可以用來通路符号表,函數,資源資訊和常量  excute

CG() 用來通路核心全局變量  compile

PG() PHP全局變量。我們知道php.ini會映射一個或者多個PHP全局結構。舉幾個使用這個宏的例子:PG(register_globals), PG(safe_mode), PG(memory_limit)

FG() 檔案全局變量。大多數檔案I/O或相關的全局變量的資料流都塞進标準擴充出口結構。

SG() sapi_activate函數用來初始化SG(sapi_headers)和SG(request_info),并且針對HTTP請求的方法設定一些内容,比如當請求方法為HEAD時,設定SG(request_info).headers_only=1;此函數最重要的一個操作是處理請求的資料,其最終都會調用sapi_module.default_post_reader。而sapi_module.default_post_reader在前面的子產品初始化是通過php_startup_sapi_content_types函數注冊了預設處理函數為main/php_content_types.c檔案中php_default_post_reader函數。此函數會将POST的原始資料寫入$HTTP_RAW_POST_DATA變量

opcode 查詢  http://www.php-internals.com/book/?p=chapt02/02-03-03-from-opcode-to-handler