PHP代码执⾏流程
怎么样?有点了解了么。说实话,单看这个,我本⼈是有点懵的,不过,不要怕。咱们来慢慢地看下。
⾸先,在⽹上的信息说PHP代码执⾏的顺序是这样的,第⼀步是词法分析,第⼆步是语法分析,第三步是转化为opcode,第四部也就是顺序执⾏这些opcode了。
php实例代码解密聪明如各位看到这⾥,再返回上⾯看⼀下这张图⽚,肯定就会有不⼀样的感觉了。咱们借⽤⼀句话来阐述这⼏个步骤:当PHP拿到⼀段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成⼀个个指令(opcodes),然后ZEND虚拟机顺次执⾏这些指令完成操作。
我们都知道,PHP本⾝是⽤C实现的,因此最终调⽤的也是C的函数,实际上,我们可以把PHP看做⼀个C开发的软件。既然如此,那么PHP的代码执⾏的核⼼也就是翻译出来的⼀条⼀条指令,在这⾥就是opcode。
那么,我们就可以把opcode看成是PHP代码执⾏的最基本单位。所以PHP代码执⾏的本质也就可以理解为,我们的代码最终被翻译为⼀组opcode处理函数,完事之后再顺序执⾏。
有了这些认知之后,我们就来看下这个opcode究竟是什么⿁。本质上⼀个opcode由两个参数(op1,op2)、返回值和处理函数组成。它的官⽅解释就是PHP脚本编译后的中间语⾔,类似于java中的bytecode
或者是中的MSL。
它的作⽤就是如下:
1、编译原理的中间过程会产⽣⼀种中间代码(语⾔),PHP由Zend引擎(C语⾔编写)编译后的中间代码为Opcode然后再交由Zend引擎处理,如同C语⾔编译后汇编代码然后再交由汇编。
2、⽣成的Opcode作为⼀种中间语⾔,可以帮助实现PHP源程序代码的不开源,如果你不想别⼈知道你的PHP代码是怎么写的,那你可以直接使⽤APC截取⽣成Opcode缓存⽂件,然后使⽤⾃⼰的PHP扩展加密程序对Opcode⽂件进⾏加密和解密,在Zend引擎对Opcode进⾏解析前进⾏解密然后再执⾏。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论