PHP的编译和执行是分离的
基本过程:
1.编译
解析脚本:调用函数zend_compile_file()
zend_compile_file()函数:词法分析&&语法分析输入(php)→zend_compile_file()→输出(op_array)→php虚拟机
2.执行
执行:调用函数zend_execute()
zend_execute()函数: php虚拟机将op_array中各条命令分发给处理器来处理分发方式:分发命令的机制有三种:CALL, SWITCH, 和GOTO
命令 代码 效率排名
CALL: zend_execute()函数调用的函数 3
SWITCH: zend_execute()函数逻辑段 2
GOTO: zend_execute()函数逻辑段 1
处理器:op命令的逻辑