zoukankan      html  css  js  c++  java
  • php封装一个接口类

    1. <?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' ?> ";
      $xml .= "<root> ";
      $xml .= self::xmlToEncode($result);
      $xml .= "</root> ";

      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}> ";
      }

      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);
  • 相关阅读:
    https://和http://区别
    选择排序法
    冒泡排序法-----一点也不简单喔
    hadoop启动后没有datanode怎么办
    洛谷 1379 八数码难题
    Floyd 算法详解
    datagridview 点击列标题排序
    Python【每日一问】05
    Python【每日一问】04
    Python【每日一问】03
  • 原文地址:https://www.cnblogs.com/Pxhphp/p/6485773.html
Copyright © 2011-2022 走看看