所在的位置: php >> php介绍 >> PHP开发APP接口一

PHP开发APP接口一

北京中科白癜风医院平安医院 http://m.360xh.com/xinwen/3260/54091.html

php以json可能xml表面返回给app。明确这点就很好说了,即是把数据包装成json可能xml,返回给APP

界说笼统APP基类:

?php/***界说API笼统类*/abstractclassApi{constJSON=Json;constXML=Xml;constARR=Array;/***界说工场法子*paramstringtype返回数据表率*/publicstaticfunctionfactory(type=self::JSON){type=isset(_GET[format])?_GET[format]:type;resultClass=ucwords(type);require_once(./Response/.type..php);returnnewresultClass();}abstractfunctionresponse(code,message,data);}

以xml表面返回给APP:

?phpclassXmlextendsApi{publicfunctionresponse(code,message=,data=array()){if(!is_numeric(code)){return;}result=array(code=code,message=message,data=data);header(Content-Type:text/xml);xml=?xmlversion=1.0encoding=UTF-8?\n;xml.=root;xml.=self::xmlToEncode(result);xml.=/root;echoxml;}publicstaticfunctionxmlToEncode(result){xml=attr=;foreach(resultaskey=value){//判定键值对,假使是数字键值不理睬if(is_numeric(key)){attr=id=.key.;key=item;}xml.={key}{attr};//以递归表面返回,主借使由于数组在xml中显示是array,一定显示出来详细键值对xml.=is_array(value)?self::xmlToEncode(value):value;xml.=/{key}\n;}returnxml;}}

以json格式返回数据:

?php/***按xml方法输出通讯数据*/classJsonextendsApi{publicfunctionresponse(code,message=,data=array()){if(!(is_numeric(code))){return;}result=array(code=code,message=message,data=data);echojson_encode(result);exit;}}

也能够采取这类方法组装返回数据:

?phpclassResponse{constJSON=json;/***按归纳方法输出通讯数据*

paramintegercode状况码*

paramstringmessage提醒消息*

paramarraydata数据*

paramstringtype数据表率*returnstring*/publicstaticfunctionshow(code,message=,data=array(),type=self::JSON){if(!is_numeric(code)){return;}type=isset(_GET[format])?_GET[format]:self::JSON;result=array(code=code,message=message,data=data,);if(type==json){self::json(code,message,data);exit;}elseif(type==array){//适当调试代码var_dump(result);}elseif(type==xml){self::xmlEncode(code,message,data);exit;}else{//TODO}}/***按json方法输出通讯数据*

paramintegercode状况码*

paramstringmessage提醒消息*

paramarraydata数据*returnstring*/publicstaticfunctionjson(code,message=,data=array()){if(!is_numeric(code)){return;}result=array(code=code,message=message,data=data);echojson_encode(result);exit;}/***按xml方法输出通讯数据*

paramintegercode状况码*

paramstringmessage提醒消息*

paramarraydata数据*returnstring*/publicstaticfunctionxmlEncode(code,message,data=array()){if(!is_numeric(code)){return;}result=array(code=code,message=message,data=data,);header(Content-Type:text/xml);xml=?xmlversion=1.0encoding=UTF-8?\n;xml.=root\n;xml.=self::xmlToEncode(result);xml.=/root;echoxml;}publicstaticfunctionxmlToEncode(data){xml=attr=;foreach(dataaskey=value){if(is_numeric(key)){attr=id={key};key=item;}xml.={key}{attr};xml.=is_array(value)?self::xmlToEncode(value):value;xml.=/{key}\n;}returnxml;}}预览时标签弗成点收录于合集#个


转载请注明:http://www.aierlanlan.com/rzfs/1243.html

  • 上一篇文章:
  •   
  • 下一篇文章: