php封装一个接口类
<?php
Class Response
{
//返回数据
public static function show($code,$message='',$data='',$type = 'json',$callback='')
{
if($type=='json')
{
echo self::jsonEncode($code,$message,$data);
}elseif($type == 'xml')
{
echo self::xmlEncode($code,$message,$data);
}elseif($type == 'jsonp')
{
echo $callback.'('.self::jsonEncode($code,$message,$data).')';
} } //json接口
public static function jsonEncode($code,$message='',$data='')
{
if(!is_numeric($code))
{
return '';
} $result = array(
'code' => $code,
'message' => $message,
'data' => $data,
);
header("Content-type:text/json;chaset=utf-8");
return json_encode($result);
}
//xml接口
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;chaset=utf-8");
$xml = "<?xml version='1.0' encoding='utf-8' ?>\n";
$xml .= "<root>\n";
$xml .= self::xmlToEncode($result);
$xml .= "</root>\n"; return $xml; } //xml内容循环
public static function xmlToEncode($data)
{
if(empty($data))
{
return '';
}
$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;
}
} //二维数据
$type = isset($_GET['type'])? $_GET['type'] : 'json'; $callback = isset($_GET['callback'])? $_GET['callback'] : ''; $arr = array(
'id'=>1,
'name'=>'jia',
'type'=>array(1,2,3)
); Response::show(200,'数据返回成功',$arr,$type,$callback);
php封装一个接口类的更多相关文章
- 使用libzplay库封装一个音频类
装载请说明原地址,谢谢~~ 前两天我已经封装好一个duilib中使用的webkit内核的浏览器控件和一个基于vlc的用于播放视频的视频控件,这两个控件可以分别用在放酷狗播放器的乐库功能和MV ...
- 1.使用C++封装一个链表类LinkList
使用C++封装一个链表类LinkList.写出相应一个测试用例 链表需要提供 添加 修改删除 除重 合并 排序创建 销毁等接口. 不能调用库函数或者使用STL等类库 题目延伸********** ...
- 使用Java封装一个DBUtils类(反射)
刚开始学JavaWeb时,我是调用N个setter方法将从数据库中查询出的数据封装成JavaBean的,极其繁琐. 后来了解SpringJDBC后,发现它提供的接口非常简单,然后就想自己封装一个简单的 ...
- Swift - 简单封装一个工具类模板
创建模板类(封装一个类) 例1:新建一个名字叫做 Product 的类 Product.swift File 的内容 class Product { var name: String var desc ...
- C++:如何正确的定义一个接口类
C++中如何定义接口类?首先给接口类下了定义:接口类应该是只提供方法声明,而自身不提供方法定义的抽象类.接口类自身不能实例化,接口类的方法定义/实现只能由接口类的子类来完成. 而对于C++,其接口类一 ...
- 封装一个帮助类来写文件到android外置存储器上
项目地址:点击打开 项目简介:写文件到android外置存储器的一个帮助类,和它的demo程序 它是如何工作的呢? 1.创建 AppExternalFileWriter 对象并传递context(上下 ...
- 使用AutoFac实现依赖注入(封装一个注册类)
public class AutoFacBootStrapper { public static void CoreAutoFacInit() { var builder = new Containe ...
- 封装一个mysql类(ggshop)
接口 abstract class db{ //连接服务器 public abstract function connect($n,$u,$p); //发送查询 protected abstract ...
- 封装一个 员工类 使用preparedStatement 查询数据 (2) 使用 arrayList 集合
创建 员工=类生成 有参构造 get set 方法 toString 方法 package cn.hph; public class emp1 { //创建员工类的属性 private int id; ...
随机推荐
- sql 报错问题
SQLServer数据库密码已过期问题 处理
- 01 DDL(DataDefinitionLanguage)
注: 语句用 ; 或 \g \G 表示结束 . 建库语句 : CREATE DATABASE db_name ; 查询有哪些库 : SHO ...
- java时间差
以下代码没什么意义,只是记录 long mstart = System.nanoTime(); int mIndex = 0 ; for (int i = 0; i < 100000000; i ...
- centos下安装tomcat8.
一.tomcat安装之前,首先安装java jdk,所以手首先将相关安装包都下载传到虚拟机上 1.下载java的linux----jdk1.8安装 到官网上下载与本虚拟机版本位相适应的位节数的Linu ...
- mapper.xml实现oracle的分页语句
当我们用常规方法进行分页查询时,虽然在数据库可以分页查询出来数据, 如下语句 <!-- 分页查询所有 --> <select id="findAllPage" r ...
- (转)ERROR 2002 (HY000): Can't connect to local MySQL server through socket '***' (2)
有时候,当我们使用“mysql”.“mysqladmin”.“mysqldump”等命令管理数据库时,服务器抛出类似如下错误: 1 ERROR 2002 (HY000): Can't connect ...
- 【Cantor表】蒟蒻题解
原题:传送门 (上图摘自网站OpenJudge - NOI题库2.1 Cantor表) 本蒟蒻的题解,让大神们见笑了! 首先,进行找规律. 大家可以发现: 1.当分子是一的时候,且分子和分母的和是偶数 ...
- 女神说不能每张照片P的一样,所以朋友圈开三天可见,用Python一步解决
大家好,我是小三十三,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻... 一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片: ! 是谁!是谁把我女朋友的照 ...
- tkinter中控件menu的两种组织方法
tkinter中,菜单控件组织方法有两种,使用中常出现混淆,为明晰各个正确用法,特整理撰写此博文.菜单控件的组织实际上是通过一个“母菜单”和“子菜单”构成,“母菜单”一方面与master连接(即与依附 ...
- Python MongoDB 创建集合
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...