菜鳥分析php原始碼 第二章

2021-06-01 19:49:20 字數 1451 閱讀 3734

入口檔案

1       sapi/cli/php_cli.c

619          main入口檔案

784          呼叫php_cli_startup=> 呼叫php_module_startup

2       main/main.c

1643         php_module_startup

1710         zend_startup(&zuf,null, 1);

3       zend/zend.c

566            zend_startup

start_memory_manager                   //完成了記憶體管理

zend_startup_strtod

zend_startup_extensions_mechanism   //擴充套件相關

global_function_table

global_class_table

global_auto_globals_table           

zend_hash_init_ex()                  //一些全域性hash符號表的申請和初始化

zend_startup_constants                   //初始化一些常量相關的東東

zend_ini_startup                        //ini初始化

//這塊的注釋根據名字來的,沒有細分析,之後會較細分析,這章主要介紹個輪廓

4       回到main/main.c

這裡還是一些初始化的工作,eg、sg、pg、一些常量等等

php_startup_auto_globals      對系統global量的初始化,_get、_post等,暫時還在理解中

5       回到sapi/cli/php_cli.c

1105         zend_execute_scripts(zend_requiretsrmls_cc, null, 1, prepend_file_p);           //程式編譯執行入口

6       main/main.c

1953         php_execute_script

2036         zend_execute_scripts

7       zend/zend.c

1111         zend_execute_scripts

1126      eg(active_op_array) =zend_compile_file(file_handle, type tsrmls_cc);    //編譯生成opcode之處

1134    zend_execute(eg(active_op_array)tsrmls_cc);          //引數為op_array,進出**能看到while(1)迴圈解釋執行opcode,輸出結果

STL原始碼第二章 allocator

ifndef pch h define pch h include include include for ptrdiff t,size t include for exit include for uint max include namespace jj return tmp template ...

php原始碼之路第二章第二節(SAPI概述之嵌入式)

嵌入式php類似cli,也是sapi介面的另一種實現。一般情況下,它的乙個請求的生命週期也會和其它的sapi一樣 模組初始化 請求初始化 處理請求 關閉請求 關閉模組。當然,這只是理想情況。因為特定的應用由自己特殊的需求,只是在處理php指令碼這個環節基本一致。include ifdef zts v...

第二章 需求分析

1 了解需求分析概念及需求獲取方法 2 了解需求建模方面 3 結構化分析案例 購銷系統 1.1 需求分析的概念和意義 需求是至使用者對軟體的功能和效能的要求 就是使用者希望軟體能做是麼事情,完成什麼樣的功能,達到什麼效能。需求分析是在計算機系統的軟體功能分配和軟體設計之間重要的橋梁作用的一項軟體工程...