Heim > php教程 > php手册 > Hauptteil

PHP生成接口数据格式(json和xml)

WBOY
Freigeben: 2016-06-06 19:38:25
Original
910 Leute haben es durchsucht

根据慕课网老师singwa教程写的生成接口通信数据 无 /** * 生成接口数据格式 */class Response{ /** * [show 按综合方式输出数据] * @param [int] $code [状态码] * @param [string] $message [提示信息] * @param array $data [数据] * @param [string] $type

根据慕课网老师singwa教程写的生成接口通信数据
/**
 * 生成接口数据格式
 */
class Response{
    /**
     * [show 按综合方式输出数据]
     * @param  [int] $code       [状态码]
     * @param  [string] $message [提示信息]
     * @param  array  $data    [数据]
     * @param  [string] $type  [类型]
     * @return [string]        [返回值]
     */
    public static function show($code, $message, $data = array(),$type = ''){
        if(!is_numeric($code)){
            return '';
        }
        $result = array(
            'code' => $code,
            'message' => $message,
            'data' => $data
        );
        if($type == 'json'){
            return self::json($code, $message, $data);
        }elseif($type == 'xml'){
            return self::xml($code, $message, $data);
        }else{
            //TODO
        }
    }
    /**
     * [json 按json方式输出数据]
     * @param  [int] $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
        );
        $result = json_encode($result);
        return $result;
    }

    /**
     * [xml 按xml格式生成数据]
     * @param  [int] $code       [状态码]
     * @param  [string] $message [提示信息]
     * @param  array  $data      [数据]
     * @return [string]          [返回值]
     */
    public static function xml($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($data);
        $xml .= "</root>";
        return $xml;
    }

    public static function xmlToEncode($data){
        $xml = '';
        foreach($data as $key => $value){
            if(is_numeric($key)){
                $attr = "id='{$key}'";
                $key = "item";
            }
            $xml .= "<{$key} {$attr}>\n";
            $xml .= is_array($value) ?  self::xmlToEncode($value) : "{$value}\n";
            $xml .= "</{$key}>\n";
        }
        return $xml;
    }
}

//测试
$grade = array("score" => array(70, 95, 70.0, 60, "70"), "name" => array("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "TianQi"));
$response = new Response();
$result = $response :: show(200,'success',$grade,'json');
print_r($result);
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!