api 클래스

2755 단어
<?php
class Response{
    /**
    *            
    * @param integer $code    
    * @param string $message     
    * @param array $data   
    * @param string $type     
    * return string
    */
    const JSON="json";
    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 {
            
        }
    
    } 
    /**
     *  json        
     * @param integer $code    
     * @param string $message     
     * @param array $data   
     * return string
     */
    public static function json($code,$message='',$data=array()){
        $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'?>
";         $xml .= "<root>
";                  $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}>
";         }         return $xml;     } }

좋은 웹페이지 즐겨찾기