30no2's Blog.

php封装一个接口类

字数统计: 368阅读时长: 2 min
2018/06/26 Share

php封装一个接口类

  • 代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
      <?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);
CATALOG
  1. 1. php封装一个接口类