首页 > 文章列表 > php Zend引擎如何执行代码

php Zend引擎如何执行代码

php Zend
193 2022-08-06

1、对Scanning进行词法分析,将PHP代码转换为语言片段。

2、解析Parsing,将Tokens转换成简单而有意义的表达式。

3、将Compilation编译成Opcode。

4、执行Execution,按顺序执行Opcode。

每次一条,实现PHP代码表达的功能。

实例

struct _zend_op {
    const void *handler; //对应执行的C语言function,即每条opcode都有一个C function处理
    znode_op op1;   //操作数1
    znode_op op2;   //操作数2
    znode_op result; //返回值
    uint32_t extended_value;
    uint32_t lineno;
    zend_uchar opcode;  //opcode指令
    zend_uchar op1_type; //操作数1类型
    zend_uchar op2_type; //操作数2类型
    zend_uchar result_type; //返回值类型
};