您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php 解析流程

2025/7/19 10:15:37发布16次查看
我们都知道php脚本的执行过程,先是由zend引擎将php源码编译为opcode序列,再由zend vm去解释执行。一般编译的过程都是先进行词法分析、语法分析,然后才是编译。在经过语法分析之后,有一个抽象语法树(abstractsyntax tree或者缩写为ast)的概念,他算是语法分析的产出,之后的编译过程是编译器在ast基础上进行的。
但是php比较特殊,zend引擎在语法分析之后直接产出了opcode,没有生成ast。这样做最大的好处是加快了编译过程,坏处则是丧失了一些自由性,难以优化以及导致编译程序逻辑复杂。具体php官网上有一篇wiki探讨了在php的编译过程中引入ast,当然实现起来难度肯定很大。
我们在平时一般不会接触到php的编译过程,但是ast却是个有用的东西,我们平时工作中很多工具里面都有ast,比如php_codesniffer、php_depend、zendstudio、pdt,需要对源码进行分析的场合,或多或少都需要ast的帮忙。
下面我们看下php7和php5编译流程,如图
以上就介绍了php 解析流程,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product