• [转]PHP底层运行原理和zend编译机制学习


    底层运行的原理(属于比较清晰易懂的):http://blog.163.com/cmdbat@126/blog/static/17029212320136120386182/


    Opcode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL,举个例子,比如你写下了如下的PHP代码:

     echo "Hello World";
       $a = 1 + 1;
       echo $a;

    PHP执行这段代码会经过如下4个步骤(确切的来说,应该是PHP的语言引擎Zend)

    1.Scanning(Lexing) ,将PHP代码转换为语言片段(Tokens)
    2.Parsing, 将Tokens转换成简单而有意义的表达式
    3.Compilation, 将表达式编译成Opocdes
    4.Execution, 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。
    题外话:现在有的Cache比如APC,可以使得PHP缓存住Opcodes,这样,每次有请求来临的时候,就不需要重复执行前面3步,从而能大幅的提高PHP的执行速度。


    php是一种脚本语言,不能先编译保存下来再执行,只在被调用时进行解释或编译。
  • 相关阅读:
    select函数
    ascy_finder|base|cookie 代码测试
    正则表达式之道
    教务系统破解
    jquery API
    test
    如何获取和发送Http请求和相应
    header中ContentDisposition的作用
    Performance Testing 系列
    LINQ
  • 原文地址:https://www.cnblogs.com/linewman/p/9918938.html
Copyright © 2020-2023  润新知