天天看點

php核心分析(八)-zend_compilezend_compile_string

這裡閱讀的php版本為PHP-7.1.0 RC3,閱讀代碼的平台為linux

回到之前看的zend_eval_stringl

這裡的zend_execute執行了兩步,第一步是把php編譯解析成為opcode的過程,我們就先看這個。

zend_compile_string函數追下去可以追到compile_string

裡面最核心的就是zend_compile了。這裡的幾個點可以看看:

1 這麼做類型轉換,參考convert_to_string。這個函數就是把任意類型的值轉換為zval的string類型。

2 zval_dtor,這個函數是能把任意的zval變量做回收。非常好用。

3 ZVAL_DUP,是進行複制,它和ZVAL_COPY的差別在于是否增加gc的引用計數。

下面又找到關鍵點:zend_compile

本文轉自軒脈刃部落格園部落格,原文連結:http://www.cnblogs.com/yjf512/p/6132985.html,如需轉載請自行聯系原作者