数码资讯
返回数据格式化类实例的PHP实现
本文介绍了PHP实现中的返回数据格式化类及其用法,这对字符串处理非常有用: 的datareturn.class.php类文件如下: < PHP 返回数据格式化类 *日期:给 *作者:fdipzone * / 类datareturn { /班开始 私人$类型; 私人XmlRoot美元; 私人$回调;
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文介绍了PHP实现中的返回数据格式化类及其用法,这对字符串处理非常有用:
的datareturn.class.php类文件如下:
< PHP
返回数据格式化类
*日期:给
*作者:fdipzone
* /
类datareturn { /班开始
私人$类型;
私人XmlRoot美元;
私人$回调;
私人returndata美元;
公共功能__construct($参数=阵列()){
美元->类型=美元->存在($参数类型)strtoupper($参数{类型}):'json '; / / JSON,XML,回调,阵列
美元-> XmlRoot =美元->存在(合参数,'xmlroot ')' } { 'xmlroot美元参数:'xmlroot '; / / XML DOM的名字根
美元->回调=美元->存在(合参数,'callback):$参数{ 'callback} / / js回调函数的名字;
格式=数组();
{ } =格式'retcode美元美元->存在(合参数,'format。retcode ')参数'format} { {美元'retcode}:'retcode '; / / retcode对应的名称
{ } =格式'msg美元美元->存在(合参数,'format。味精){ } { $参数'format'msg}:'msg '; / /味精对应的名称
{资料} = $格式->存在美元(合参数,'format。数据){ } { $参数'format '数据'数据';}: / /数据对应的名称
结果=数组();
$结果{ $格式{ 'retcode} } =美元->存在(合参数,'retcode ')' } { 'retcode美元的参数:0;
$结果{ $格式{ 'msg} } =美元->存在(合参数,'msg ')参数{ 'msg }:美元;
$结果{ $格式{ } } =数据的美元->存在(合参数,数据的参数{资料})$ ':';
美元-> returndata = $结果;
}
输出数据
公共功能data_return(){
ob_clean();
开关($ - type){
case'json:
美元-> json_return();
打破;
case'xml:
美元-> xml_return();
打破;
case'callback:
美元-> callback_return();
打破;
case'array:
美元-> array_return();
打破;
违约:
美元-> json_return();
}
出口();
}
/ /输出JSON格式的数据,如回调或json格式的参数
私有函数json_return(){
头('content-type:文本/ HTML;字符集= UTF-8);
如果(空($ >回调)){
回声json_encode(美元-> returndata);
其他{ }
echo $这->回调。'('。json_encode(美元-> returndata)。');;
}
}
以xml格式输出数据
私有函数xml_return(){
头('content-type:文本或XML;字符集= UTF-8);
这xml_encode(echo ->美元-> returndata,美元-> XmlRoot);
}
JSON格式输出数据,并调用回调方法
私有函数callback_return(){
头('content-type:文本/ HTML;字符集= UTF-8);
美元->回调=空(美元->回调)'callback:美元->回调;
;
回调。(。json_encode(美元-> returndata)。;
;
}
输出数组格式数据
私有函数array_return(){
头('content-type:文本/ HTML;字符集= UTF-8);
回声';
print_r(美元-> returndata);
回声';
}
xml编码
私有函数xml_encode($数据,根'xmlroot美元,美元'utf-8 encoding=){
$;
$;
为XML。=美元-> data_to_xml($数据);
$;
返回xml;
}
以数组到XML格式
私有函数data_to_xml($数据){
如果(is_object($数据)){
数据get_object_vars美元(美元数据);
}
$=;
foreach(美元美元美元数据关键= val){
is_numeric($美元关键)关键= 项目编号为美元关键;
$;
为XML。=(is_array($ Val)| | is_object($ Val))-> data_to_xml美元(美元值):美元-> CDATA(美元值);
列表($,)=爆炸($键);
$;
}
返回xml;
}
确定数据是否
私有函数存在($ obj,美元关键=){
如果($ = ''){
返回isset($ obj)!空($ obj);
其他{ }
$ =(爆炸,键);
用于($ = 0,$ =计数($键);$ i max;$ + +){
如果(isset($ obj { } } {我钥匙美元美元)){
obj =美元美元美元美元obj { { } }我的钥匙;
其他{ }
返回false;
}
}
返回isset($ obj)!空($ obj);
}
}
标记是否为
私有函数CDATA($ Val){
如果(!空($ $)!preg_match( / ^ { } /美元就+,$ Val)){
$ =;
}
返回$ $;
}
类结束
>
演示样例程序如下所示:
< PHP
require_once('datareturn。类。php);
$参数=(阵列 / / datareturn参数
类型= > 'json ' / /输出型JSON,XML,JSON数组默认回调,
retcode= > '1000, / / retcode值,默认值为0
MSG,,默认值是空的。
数据数组>
ID = > 100,
名字= > 'fdipzone,
性别= 1,
年龄= 28岁
),
格式= >阵列(关键 /输出数据的格式,默认是retcode、味精、数据
retcode= > 'status,
味精= > 'info,
数据= > 'result
),
XmlRoot= 'xmlroot ' / XML,XML类型=时,根节点的名称,默认是XmlRoot
回调= > 'callback ' / *回调方法
当type = JSON时,默认是空的,如果不是空的,则输出回调({ });
当type =回调时,默认是回调,并且自动调用页面JS回调方法。
* /
);
obj =新datareturn美元(美元的); / /创建一个datareturn类对象
($ obj -> data_return); / /数据根据输出格式
>
希望本文能对PHP程序设计的研究有所帮助。
的datareturn.class.php类文件如下:
< PHP
返回数据格式化类
*日期:给
*作者:fdipzone
* /
类datareturn { /班开始
私人$类型;
私人XmlRoot美元;
私人$回调;
私人returndata美元;
公共功能__construct($参数=阵列()){
美元->类型=美元->存在($参数类型)strtoupper($参数{类型}):'json '; / / JSON,XML,回调,阵列
美元-> XmlRoot =美元->存在(合参数,'xmlroot ')' } { 'xmlroot美元参数:'xmlroot '; / / XML DOM的名字根
美元->回调=美元->存在(合参数,'callback):$参数{ 'callback} / / js回调函数的名字;
格式=数组();
{ } =格式'retcode美元美元->存在(合参数,'format。retcode ')参数'format} { {美元'retcode}:'retcode '; / / retcode对应的名称
{ } =格式'msg美元美元->存在(合参数,'format。味精){ } { $参数'format'msg}:'msg '; / /味精对应的名称
{资料} = $格式->存在美元(合参数,'format。数据){ } { $参数'format '数据'数据';}: / /数据对应的名称
结果=数组();
$结果{ $格式{ 'retcode} } =美元->存在(合参数,'retcode ')' } { 'retcode美元的参数:0;
$结果{ $格式{ 'msg} } =美元->存在(合参数,'msg ')参数{ 'msg }:美元;
$结果{ $格式{ } } =数据的美元->存在(合参数,数据的参数{资料})$ ':';
美元-> returndata = $结果;
}
输出数据
公共功能data_return(){
ob_clean();
开关($ - type){
case'json:
美元-> json_return();
打破;
case'xml:
美元-> xml_return();
打破;
case'callback:
美元-> callback_return();
打破;
case'array:
美元-> array_return();
打破;
违约:
美元-> json_return();
}
出口();
}
/ /输出JSON格式的数据,如回调或json格式的参数
私有函数json_return(){
头('content-type:文本/ HTML;字符集= UTF-8);
如果(空($ >回调)){
回声json_encode(美元-> returndata);
其他{ }
echo $这->回调。'('。json_encode(美元-> returndata)。');;
}
}
以xml格式输出数据
私有函数xml_return(){
头('content-type:文本或XML;字符集= UTF-8);
这xml_encode(echo ->美元-> returndata,美元-> XmlRoot);
}
JSON格式输出数据,并调用回调方法
私有函数callback_return(){
头('content-type:文本/ HTML;字符集= UTF-8);
美元->回调=空(美元->回调)'callback:美元->回调;
;
回调。(。json_encode(美元-> returndata)。;
;
}
输出数组格式数据
私有函数array_return(){
头('content-type:文本/ HTML;字符集= UTF-8);
回声';
print_r(美元-> returndata);
回声';
}
xml编码
私有函数xml_encode($数据,根'xmlroot美元,美元'utf-8 encoding=){
$;
$;
为XML。=美元-> data_to_xml($数据);
$;
返回xml;
}
以数组到XML格式
私有函数data_to_xml($数据){
如果(is_object($数据)){
数据get_object_vars美元(美元数据);
}
$=;
foreach(美元美元美元数据关键= val){
is_numeric($美元关键)关键= 项目编号为美元关键;
$;
为XML。=(is_array($ Val)| | is_object($ Val))-> data_to_xml美元(美元值):美元-> CDATA(美元值);
列表($,)=爆炸($键);
$;
}
返回xml;
}
确定数据是否
私有函数存在($ obj,美元关键=){
如果($ = ''){
返回isset($ obj)!空($ obj);
其他{ }
$ =(爆炸,键);
用于($ = 0,$ =计数($键);$ i max;$ + +){
如果(isset($ obj { } } {我钥匙美元美元)){
obj =美元美元美元美元obj { { } }我的钥匙;
其他{ }
返回false;
}
}
返回isset($ obj)!空($ obj);
}
}
标记是否为
私有函数CDATA($ Val){
如果(!空($ $)!preg_match( / ^ { } /美元就+,$ Val)){
$ =;
}
返回$ $;
}
类结束
>
演示样例程序如下所示:
< PHP
require_once('datareturn。类。php);
$参数=(阵列 / / datareturn参数
类型= > 'json ' / /输出型JSON,XML,JSON数组默认回调,
retcode= > '1000, / / retcode值,默认值为0
MSG,,默认值是空的。
数据数组>
ID = > 100,
名字= > 'fdipzone,
性别= 1,
年龄= 28岁
),
格式= >阵列(关键 /输出数据的格式,默认是retcode、味精、数据
retcode= > 'status,
味精= > 'info,
数据= > 'result
),
XmlRoot= 'xmlroot ' / XML,XML类型=时,根节点的名称,默认是XmlRoot
回调= > 'callback ' / *回调方法
当type = JSON时,默认是空的,如果不是空的,则输出回调({ });
当type =回调时,默认是回调,并且自动调用页面JS回调方法。
* /
);
obj =新datareturn美元(美元的); / /创建一个datareturn类对象
($ obj -> data_return); / /数据根据输出格式
>
希望本文能对PHP程序设计的研究有所帮助。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。