c php数据,PHP如何与C进行数据交互

今天同事问我,我们前台是如何传递数据给C,通过什么参数和方法。C又是通过什么机制进行接收前台传递过来的数据。我在代码上瞄了瞄,还是没有搞懂C是如何进行数据处理,这个问题留到后面再讲。接下来讲讲我们前台通过PHP是如何获取C的数据,然后进行页面展示的。

先上一段代码,待会儿再分析:

98f0a64bf94bb15fbc4862b457efb673.png

PHP交互处理流程

参数介绍:POST: submit_post(对应变量名:$post_submit_action)

GET: g(对应变量名:$get_url_param)

通过参数$get_url_param进行交互

模块入口在indexmods文件夹中的.mod文件中,通过参数$get_url_param进行判断,然后加载对应的modules文件夹中的.mds文件,同样是通过参数$get_url_param进行数据交互处理,最后显示在页面上。

简单流程如下:1html --> $get_url_param --> mod --> mds($get_url_param) --> html

通过参数$post_submit_action进行交互

$post_submit_action原理与$get_url_param一样,但是submit_post有的情况不需要通过.mod进行判断,直接在.mds文件中进行处理,最后显示在页面上。

简单流程如下:1html --> $post_submit_action --> mod --> mds($post_submit_action) --> html

数据获取

getResponse()方法:

通过C提供的接口(模块名)和方法获取XML数据。

语法:1$rspString = getResponse('接口名称', '方法', '参数');

接口名称:字符串(C开发人员提供)

方法: 字符串(接口的调用方法,C开发人员提供)

参数: 数组(接口所需要的各个字段,与C开发人员进行对接)

getAssign()方法:

对getResponse()获取的数据进行格式化。

语法:1$rsp_arr = getAssign($rspString, json:0);

json:0 是对数据进行json数据格式化。

代码分析

之前贴的一张图来说:

$param[‘…’]为前台需要获取的字段

$_GET 或者 $_POST是请求方式1file_put_contents('001.txt',json_encode($param));

这个方法是PHP里用于生成数据文件的方法,通过这个方法可以查看从后台获取json格式的数据文件,也可以查看传递给后台json格式的数据文件,以及各种参数。用来调试十分方便。

PHP的isset()函数

一般用来检测变量是否设置

格式:

bool isset ( mixed var [, mixed var [, …]] )

功能:

检测变量是否设置

返回值:

若变量不存在则返回 FALSE

若变量存在且其值为NULL,也返回 FALSE

若变量存在且值不为NULL,则返回 TURE

同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

更多说明:

使用 unset() 释放变量之后,它将不再是 isset()。

PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。

检测常量是否已设置可使用 defined() 函数。

PHP的empty()函数

判断值为否为空

格式:bool empty ( mixed var )

功能:检查一个变量是否为空

返回值:

若变量不存在则返回 TRUE

若变量存在且其值为””、0、”0”、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE

若变量存在且值不为””、0、”0”、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE

更多说明:

empty()的返回值=!(boolean) var,但不会因为变量未定义而产生警告信息。参见转换为布尔值获取更多信息。

empty() 只能用于变量,传递任何其它参数都将造成Paser error而终止运行。

检测常量是否已设置可使用 defined() 函数。

json_decode — 对 JSON 格式的字符串进行编码

json_encode — 对变量进行 JSON 编码

json_encode()和json_decode()是编译和反编译过程,注意json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值