php开发app接口-封装类
2016-03-30 21:13
513 查看
<?php class Response { const JSON = "json"; /** * 按综合方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * @param string $type 数据类型 * return string */ public static function show($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方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * return string */ public static function json($code, $message = '', $data = array()) { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); echo json_encode($result); exit; } /** * 按xml方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 数据 * return string */ public static function xmlEncode($code, $message, $data = array()) { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data, ); header("Content-Type:text/xml"); $xml = "<?xml version='1.0' encoding='UTF-8'?>\n"; $xml .= "<root>\n"; $xml .= self::xmlToEncode($result); $xml .= "</root>"; echo $xml; } public static function xmlToEncode($data) { $xml = $attr = ""; foreach($data as $key => $value) { if(is_numeric($key)) { $attr = " id='{$key}'"; $key = "item"; } $xml .= "<{$key}{$attr}>"; $xml .= is_array($value) ? self::xmlToEncode($value) : $value; $xml .= "</{$key}>\n"; } return $xml; } }
相关文章推荐
- mac与php环境
- 使用apt-get方式安装LAMP包括phpmyadmin
- phpcms学习笔记
- printPrimes作业
- tftp服务器最简单安装配置
- PHP调用内容DES加密的SOAP接口
- PHP调用内容DES加密的SOAP接口
- php ajax dom---动态增加
- Thread详解10:用管道进行线程间通信
- LAMP组合 PHP以FPM模式工作
- phpcms的phpsso与discuz的UCenter的联调时遇到的问题
- php thinkphp+pgsql M('table')->add()不能正常的返回新增记录的主键id值。
- php thinkphp + pgsql table_msg()函数缺失解决方案
- My study note of PHP language(I)
- php mac环境下安装php pgsql扩展
- PHP对编码的常用处理函数
- PHP安全的URL字符串base64编码和解码
- php_CORS 跨域
- PHP性能优化
- YII2通过Composer安装方法