`

php执行流程相关

 
阅读更多

通常,解释型语言使用前被编译为字节码,虚拟机动态执行字节码。为了提高性能,虚拟机执行代码时,可以利用 JIT 技术来动态的把字节码翻译成机器码。

因为字节码它不可能脱离虚拟机运行,因此它依旧是解释型语言。

简而言之,编译型语言的编译(编译到机器码)发生在运行之前,解释型语言的编译发生在每一次运行时。

 

PHP是解释型语言,将PHP代码解释为opcode之后再交由Zend引擎执行。

 

php先编译后执行(这里只PHP语言引擎Zend执行过程,不包含Web服务器的执行过程)

 

1.code通过zend_complie_file()来编译,其中包括词法(lex词法编译器去除空格,注释,从而分割成一个个的token)和语法(yacc语法编译器将token生成一个个的opcode)的分析,编译结果就是能被zend引擎调用的opcode指令的数组集合op_array

 

2.zend引擎通过zend_execute()和不同的分发规则(call、switch、goto,默认是call)将这些opcode分发到不同的逻辑来处理



 

  • 大小: 21.4 KB
分享到:
评论

相关推荐

    Laravel5.5执行流程

    一张图了解一下典型的Laravel应用程序的完整执行流程。

    PHP执行流程跟踪工具phptrace.zip

    phptrace 是一个追踪(trace)PHP执行流程的工具,你如果用过strace的话,则可能很容易想到phptrace到底实现了什么样的功能。 其实,phptrace是类strace的一个实现,不同的是,strace用来追踪系统调用,而phptrace...

    Yii框架执行流程及部分源码分析

    文件结构 程序结构及配置 入口文件index php流程 CApplication构造流程 Request组件初始化 Run 方法流程 Yii核心参考

    ThinkPHP执行流程分析

    ThinkPHP执行流程分析 ppt 描述 ThinkPHP执行时的流程分析!

    计算机后端-PHP视频教程. php与mysql加强- 02. php加强25-函数执行与返回流程.wmv

    计算机后端-PHP视频教程. php与mysql加强- 02. php加强25-函数执行与返回流程.wmv

    php+mysql+jquery.more.js下拉加载带sql数据完整流程带mysql测试数据

    jquery.more.js,js下拉加载、jq下拉加载php+mysql+jquery.more.js完整一套流程。非常好用

    laravel 框架执行流程与原理简单分析

    本文实例讲述了laravel 框架执行流程与原理。分享给大家供大家参考,具体如下: 1.index.php $app = require_once __DIR__.'/../bootstrap/app.php'; $kernel = $app->make(Illuminate\Contracts\...

    Thinkphp执行流程.ppt

    分析一下从访问index.php到加载Action文件、调用用户指定操作的过程。 达到什么样的效果? 分析一下在进入自己指定的模块与操作之前发生过一些什么事情,以及如何通过index.php进入指定的模块与操作,让你能搞明白...

    PHP执行普通shell命令流程解析

    主要介绍了PHP执行普通shell命令流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Zend Framework 2.0 流程图

    Zend Framework 2.0 流程图 稀有物,自己用过。

    phlow:与框架无关PHP库,用于构建和执行工作流程

    Phlow-Worfklow模型和引擎 Phlow是PHP的工作流建模器和引擎。 受和大力启发,Phlow尝试提供一个库来设计和...有关即将发布的版本的更多信息,请参见。 入门 下图显示了处理故障灯的简单过程。 一旦发现故障的灯,流程

    ecshop 代码流程文档

    本文档主要为适应公司对ecshop进行二次开发需求而编写...主要是代码流程的梳理,方便同事快速找到相关代码提高开发效率。例如:用户下单,首先单击购买商品按钮,执行哪个文件的哪个方法。包括js,和php方法。非常详细。

    TP5执行流程

    /tp5/public/index.php 1) 作用:定义目录常量 2) 加载框架引导目录 2.加载框架引导目录 /tp5/thinkphp/start.php 1) 作用:引导基础文件 2) 对应用进行晕妆 3.加载框架基础引导文件 /tp/thinkphp/base.php 1)作用:...

    BugTrace PHP缺陷跟踪系统 v2.1

    PHP源码,BugTrace,BugTrace PHP缺陷跟踪系统,无需初始化,开包即用。不过客户端登录需要使用支持HTML5的Chrome浏览器浏览,其它...也识别为 php 文件执行的安全问题  更新后上传的 php 文件将被 改名为 abc_php.file

    BalnoWorkflow:具有并行执行功能PHP 5.5+工作流程

    BalnoWorkflow BalnoWorkflow是为PHP 5.5+构建的... begin_execution :在工作流程开始执行时触发。 end_execution :工作流执行完成(暂停或完成)时触发。 start_transition:改变工作流状态时,之前的OnExit行动

    PHP bible(PHP圣经)中文版

    程序执行功能函数库 FDF 函数库 filePro 数据库函数库 文件系统函数库 HTTP 相关函数库 Hyperwave 服务器函数库 图形处理函数库 IMAP 电子邮件系统函数库 PHP 选项及相关信息函数库 Informix 数据库函数库 ...

    十天学会PHP(CHM版)

    十天学会PHP之第一天 以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多...这种方式,可以把程序执行时的流程简单化。

    Cakephp 执行主要流程

    记录开始执行时间 cake/config/paths.php 里面定义一些基本路径 cake/lib/object.php cake的基本类 cake/lib/inflector.php 这里主要是处理单复数,带下划开命名以及驼峰式命名 cake/lib/configure.php 里面提供...

    PHPOA学习指南

    phpoa学习指南文档,主要介绍phpoa开源项目的结构,执行流程。

Global site tag (gtag.js) - Google Analytics