浅谈PHP代码执行的大致流程(opcode)

时间:2022-11-03 07:14:56 | 浏览:6237

说到这个代码执行流程啊,咱也不说太多,先给大家分享一张图片: 怎么样?有点了解了么。说实话,单看这个,我本人是有点懵的,不过,不要怕。咱们来慢慢地看下。 首先,在网上找的信息说PHP代码执行的顺序是这样的,第一步是词法分析,第二步是语法分析

说到这个代码执行流程啊,咱也不说太多,先给大家分享一张图片:

怎么样?有点了解了么。说实话,单看这个,我本人是有点懵的,不过,不要怕。咱们来慢慢地看下。

首先,在网上找的信息说PHP代码执行的顺序是这样的,第一步是词法分析,第二步是语法分析,第三步是转化为opcode,第四部也就是顺序执行这些opcode了。

聪明如各位看到这里,再返回上面看一下这张图片,肯定就会有不一样的感觉了。咱们借用一句话来阐述这几个步骤:当PHP拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令(opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。

我们都知道,PHP本身是用C实现的,因此最终调用的也是C的函数,实际上,我们可以把PHP看做一个C开发的软件。既然如此,那么PHP的代码执行的核心也就是翻译出来的一条一条指令,在这里就是opcode。

那么,我们就可以把opcode看成是PHP代码执行的最基本单位。所以PHP代码执行的本质也就可以理解为,我们的代码最终被翻译为一组opcode处理函数,完事之后再顺序执行。

有了这些认知之后,我们就来看下这个opcode究竟是什么鬼。本质上一个opcode由两个参数(op1,op2)、返回值和处理函数组成。它的官方解释就是PHP脚本编译后的中间语言,类似于java中的bytecode或者是.net中的MSL。

它的作用就是如下:

1、编译原理的中间过程会产生一种中间代码(语言),PHP由Zend引擎(C语言编写)编译后的中间代码为Opcode然后再交由Zend引擎处理,如同C语言编译后汇编代码然后再交由汇编。

2、生成的Opcode作为一种中间语言,可以帮助实现PHP源程序代码的不开源,如果你不想别人知道你的PHP代码是怎么写的,那你可以直接使用APC截取生成Opcode缓存文件,然后使用自己的PHP扩展加密程序对Opcode文件进行加密和解密,在Zend引擎对Opcode进行解析前进行解密然后再执行。

相关资讯

重整执行完毕 新紫光扬帆启航

据了解,持有新紫光集团100%股权的控股股东北京智广芯控股有限公司是为了具体实施本次重整投资而设立的,将为紫光集团发展提供长期战略资源支持,助力紫光集团提升中国集成电路核心产业链的自主性、完整性和竞争力。

24小时高效减肥执行表

江西萍乡:被执行人躲避还款 划拨公积金结案

中国法院网讯(汤波)被执行人躲避还款,划拨公积金结案。近日,江西省萍乡市安源区人民法院执结了一起借款合同纠纷案。2019年4月份,陈某因需要短期周转资金,经其好友引荐,从李某处借款8万元。陈某口头承诺借款期限为一个月,同时承诺如李某随时需要,即可归还。

萍乡中院为一民企执行到位近2600万

另一方面,从税票中找到与其业务量最多的河北某钢铁公司,并派人立即对被执行人在该公司的货款进行冻结。虽河北某钢铁公司称通过购买被执行人焦炭的方式已将货款冲抵,但经法院示明法律后果后,该公司立即履行协助义务,将2380万元款项全部汇至法院指定账户。

略阳法院:执行案件“终本”后,法院还“管”吗?

在法院的执行程序中当事人有时会听到“终本”那么,什么是“终本”执行案件“终本”后,法院还“管”吗?“终本”后申请执行人可以做些什么?执行法官对“终本”案件又有什么高招?终结本次执行程序不等于不再执行,发现被执行人财产线索可随时向法院申请恢复

淳化法院:高效执行暖民心 一面锦旗颂公正

“感谢淳化法院的执行法官,这么快就执结了我们的案子。”近日,淳化法院执行法官成功执结一起民间借贷纠纷案件,申请执行人齐某、陈某特地送来锦旗,当面表达了感谢之意。申请执行人姚某、齐某、陈某3人与被执行人陈某某、贾某某民间借贷纠纷案,总计执行标

中信集团原执行董事赵景文受贿贪污案一审:有期徒刑18年

2021年9月18日上午,湖南省长沙市中级人民法院公开宣判中国中信集团有限公司原党委委员、执行董事赵景文受贿、贪污一案,对被告人赵景文以受贿罪判处有期徒刑十五年,并处罚金三百万元;以贪污罪判处有期徒刑四年,并处罚金二十万元,决定执行有期徒刑

浈江区:用两到三年基本解决执行难

近日,浈江区组织召开“基本解决执行难”工作联席会议,进一步加强全区各联动部门之间的协作配合,确保实现“用两到三年基本解决执行难”工作目标,不断推进工作取得新成效。 会议总结了全区自2016年开展“基本解决执行难”工作以来的基本情况、主要措施

浦北一失信被执行人(第三批)

实名曝光!钦南区法院曝光15名失信被执行人(第三批)为维护法律的尊严和司法的权威,依法保障胜诉当事人的合法权益,加大对失信被执行人的惩戒力度,推进社会信用体系建设,营造诚信社会环境,不断推动切实解决执行难工作,钦南区人民法院现发布2021年

9月1日起执行!河北人注意

9月起一批新规新政将正式实施一些新变化也将发生快来看看哪些与你息息相关↓↓↓河北篇9月1日起,22类医用耗材集中带量采购中选结果执行据河北省医保局消息,河北省医保局一次性开展了镇痛泵、骨水泥、超声刀头等22类医用耗材集中带量采购。此次医用耗

友情链接

天天财经元宇宙中国SEO域名抢注宝宝起名网网站监控华为手机评测网舍得酒业A股实木板材采购网世纪数藏NFT建筑建材采购网梅州今日新闻网北京旅游资讯网云服务器技术网女装品牌网焦作新闻头条网吉隆坡旅游网亚马逊跨境电商武夷大红袍官网南昌交友聚会网河北旅游网苏州旅游网生肖猪运势网桂林交友婚恋网浙江旅游网每日问候语南宁午托网五粮液A股七匹狼股票行情生肖兔运势网中秋节气网今日榆林今日忻州罗姓宝宝起名网海口新闻头条网今日佳木斯
PHP编程知识网-php开源建站系统、PHP程序员网站开发、php编程工具、php菜鸟教程下载、PHP网络编程教学、php网络编程、php工程师、php菜鸟教程数据库、PHP网站开发、PHP精品源码网站、php程序员入门、php零基础入门教程、php源码搭建网站流程、php从入门到精通第2版、php开发简单网站、php制作网站实例、php网站开发实例教程源代码、php中文网破解版、php中文网。
php编程知识 yoceo.cn©2022-2028版权所有