美文网首页
【前言】PHP的词法/语法分析

【前言】PHP的词法/语法分析

作者: Michael_abc | 来源:发表于2019-09-25 16:09 被阅读0次

PHP执行流程

对于PHP脚本在服务端的执行大致分为两个阶段:

流程一

传递给PHP解析器需要执行的文件地址,此处的PHP解析器通常运行的SAPI模式有两种:CLI和FastCGI,PHP解析器会完成启动流程即加载配置,完成Zend引擎的初始化和扩展模式的加载和初始化。

流程二

读取文件内容,Zend引擎对文件内容进行词法分析和语法分析,然后编译成Opcode进行执行(在PHP7下是会先生产语法树在生成Opcode进行执行),在安装类似apc等扩展后,可能会读取缓存后的opcode直接执行。
注:PHP中include/require/eval等加载文件或执行脚本时是会重复上述步骤2的。

解释图

图一

PHP5运行流畅.png

图二

untitled.jpg

PHP执行说明

在第二步骤中,对于PHP脚本的语法解析,词法解析和翻译成中间代码等过程统称为Zend虚拟机,这个过程也是高级语言转化为低级语言的一部分过程,中间代码理论上是可以保持起来长期运行的,这个是编译过程,PHP与C#,Java等语言一样都有自己的虚拟机,就是想计算机语言抽象化,以自己的语言规则,内存管理和指令集合等来描述现实世界的事物。

小结

本节简单描述了PHP脚本的执行过程,对过程有大概的了解,以后的章节中会对每个步骤进行详细的说明和分析,毕竟这些过程都是非常贴近本质的,深度学习能提高对PHP更深层次的理解,可能会有很多不一样的收获。

相关文章

网友评论

      本文标题:【前言】PHP的词法/语法分析

      本文链接:https://www.haomeiwen.com/subject/zzzpuctx.html