PHP7的执行过程是怎样的?能否详细解释一下其中的步骤和原理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1217个文字,预计阅读时间需要5分钟。
PHP程序员都应了解PHP7及以上版本的代码执行过程。PHP是一种解释型语言,其执行过程如下:PHP代码=Token=抽象语法树。
PHP 是解释型语言,其执行过程需先编译成中间代码,再经由特定的虚拟机,翻译成特定的指令被执行。其执行过程如下:PHP 代码 => Token => 抽象语法树 => Opcodes => 执行
各个步骤内容如下:
源代码通过词法分析得到 Token
Token 是 PHP 代码被切割成的有意义的标识。PHP7 一共有 137 种 Token,在 zend_language_parser.h 文件中做了定义。
基于语法分析器将 Token 转换成抽象语法树(AST)
Token 就是一个个的词块,但是单独的词块不能表达完整的语义,还需要借助一定的规则进行组织串联。所以就需要语法分析器根据语法匹配 Token,将 Token 进行串联。语法分析器串联完 Token 后的产物就是抽象语法树(AST,Abstract Syntax Tree)。
本文共计1217个文字,预计阅读时间需要5分钟。
PHP程序员都应了解PHP7及以上版本的代码执行过程。PHP是一种解释型语言,其执行过程如下:PHP代码=Token=抽象语法树。
PHP 是解释型语言,其执行过程需先编译成中间代码,再经由特定的虚拟机,翻译成特定的指令被执行。其执行过程如下:PHP 代码 => Token => 抽象语法树 => Opcodes => 执行
各个步骤内容如下:
源代码通过词法分析得到 Token
Token 是 PHP 代码被切割成的有意义的标识。PHP7 一共有 137 种 Token,在 zend_language_parser.h 文件中做了定义。
基于语法分析器将 Token 转换成抽象语法树(AST)
Token 就是一个个的词块,但是单独的词块不能表达完整的语义,还需要借助一定的规则进行组织串联。所以就需要语法分析器根据语法匹配 Token,将 Token 进行串联。语法分析器串联完 Token 后的产物就是抽象语法树(AST,Abstract Syntax Tree)。

