深入理解php之opcode原理详解

深入理解php之opcode原理详解

ID:15039517

大小:33.00 KB

页数:11页

时间:2018-08-01

深入理解php之opcode原理详解_第1页
深入理解php之opcode原理详解_第2页
深入理解php之opcode原理详解_第3页
深入理解php之opcode原理详解_第4页
深入理解php之opcode原理详解_第5页
资源描述:

《深入理解php之opcode原理详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、★精品文档★深入理解PHP之OpCode原理详解  本文实例讲述了PHP中OpCode的原理。分享给大家供大家参考,具体如下:OpCode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL。此文主要基于《UnderstandingOPcode》和网络,根据个人的理解和修改,特记录下来:PHP代码:<?php echo“HelloWorld”; $a=1+1; echo$a;?PHP执行这段代码会经过如下4个步骤:1.Scanning(Lexing),将PHP代码

2、转换为语言片段(Tokens)2.Parsing,将Tokens转换成简单而有意义的表达式3.Compilation,将表达式编译成Opocdes4.Execution,顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。注:现在有的Cache比如:APC,可以使得PHP缓存Opcodes2016全新精品资料-全新公文范文-全程指导写作–独家原创11/11★精品文档★,这样,每次有请求来临的时候,就不需要重复执行前面3步,从而能大幅的提高PHP的执行速度。首先,Zend/zend_language_scanner.c会根据Z

3、end/zend_language_scanner.l(Lex文件),来对输入的PHP代码进行词法分析,从而得到一个一个的“词”,PHP4.2+开始提供了一个函数叫token_get_all,这个函数就可以讲一段PHP代码Scanning成Tokens;<?php$tokens=token_get_all(‘<?php echo“HelloWorld”; $a=1+1; echo$a;?’);print_r($tokens);?将会得到如下结果:Array( [0]=Array&n

4、bsp; (   [0]=367   [1]=<?php   [2]=2016全新精品资料-全新公文范文-全程指导写作–独家原创11/11★精品文档★1  ) [1]=Array  (   [0]=370   [1]=   [2]=2  ) [2]=Array&

5、nbsp; (   [0]=316   [1]=echo   [2]=2  ) [3]=Array  (   [0]=370   [1]=   [2]=2  ) [4]=Array  (   [0]=2016全新精品资

6、料-全新公文范文-全程指导写作–独家原创11/11★精品文档★315   [1]=“HelloWorld”   [2]=2  ) [5]=; [6]=Array  (   [0]=370   [1]=   [2]=2  ) [7]=Array  (  &nb

7、sp;[0]=309   [1]=$a   [2]=3  ) [8]=Array  (   [0]=370   [1]=   [2]=3  2016全新精品资料-全新公文范文-全程指导写作–独家原创11/11★精品文档★) [9]== [10]=Array  ( &n

8、bsp; [0]=370   [1]=   [2]=3  ) [11]=Array  (  &

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。