从图上可以看到,PHP实现了一个典型的动态语言执行过程:拿到一段代码后,经过词法解析、语法解析等阶段后,源程序会被翻译成一个个指令 (opcodes),然后ZEND虚拟机顺次执行这些指令完成操作。PHP本身是用C实现的,因此最终调用的也都是C的函数,实际上,我们可以把PHP看 做是一个C开发的软件。
PHP的执行的核心是翻译出来的一条一条指令,也即opcode。
Opcode是PHP程序执行的最基本单位。一个opcode由两个参数(op1,op2)、返回值和处理函数组成。PHP程序最终被翻译为一组opcode处理函数的顺序执行。
常见的几个处理函数:
1 ZEND_ASSIGN_SPEC_CV_CV_HANDLER : 变量分配 ($a=$b)
2 ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER:函数调用
3 ZEND_CONCAT_SPEC_CV_CV_HANDLER:字符串拼接 $a.$b
4 ZEND_ADD_SPEC_CV_CONST_HANDLER: 加法运算 $a+2
5 ZEND_IS_EQUAL_SPEC_CV_CONST:判断相等 $a==1
6 ZEND_IS_IDENTICAL_SPEC_CV_CONST:判断相等 $a===1
如下。打开2次易语言,分别新建一个窗口程序在第一个窗口里添加服务器控件,第二个窗口添加客户控件根据自己情况,这里端口可以根据自己需要去修改,不改也可以 我们在第二个窗口(放客户控件的)的窗口创建完毕事件里加入以下代码 客户1.连接 (“127.0.0.1”, 19730) 127.0.0.1是本地服务器,根据自己的情况去修改IP,19730是刚刚设置的端口 我们在第二个窗口(放客户控件的)的窗口创建完毕事件里加入以下代码 客户1.连接 (“127.0.0.1”, 19730) 127.0.0.1是本地服务器,根据自己的情况去修改IP,19730是刚刚设置的端口 在第一个窗口(服务器)的_服务器1_数据到达 事件加入以下代码 调试输出(服务器1.取回客户 ()) 先运行第一个窗口(服务器),再运行第二个窗口(客户),我们可以在第一个窗口的输出窗口里看到客户进入的状况 服务器向客户端发送消息可以用 服务器1.发送数据() 我们把刚刚的调试输出(服务器1.取回客户 ())改成 客户 = 服务器1.取回客户 () 添加一个按钮,在按钮单击事件加入服务器1.发送数据 (客户, “提示_这只是一个提示”,)欢迎分享,转载请注明来源:夏雨云
评论列表(0条)