PHP实现返回JSON和XML的类分享

前端技术 2023/08/08 PHP

代码很简洁,功能也很简单实用,这里就不多废话了,直接奉上代码:

复制代码 代码如下:

<?php
    class Reponse{
        //private $result = array(\'code\'=null,\'message\'=null,\'data\'=>null);
        /**
         * @desc 返回JSON格式
         * @param int $code
         * @param string $message
         * @param array  $data
         * return string
         */
        public static function json($code,$message = null,$data = array()){
            if(!is_numeric($code)){
                return false;
            }
            $result = array(
                \'code\'=>$code,
                \'message\'=>$message,
                \'data\'=>$data
            );
            return json_encode($result);
            exit;
        }
        /**
         * @desc 返回xml格式数据
         * @parma int $code 状态码
         * @param string $message 提示
         * @param array $data 数据
         * return string
         */
         public static function xml($code,$message = \'\',$data = array()){
            if(!is_numeric($code)){
                return false;
            }
            $result = array(
                \'code\'=>$code,
                \'message\'=>$message,
                \'data\'=>$data
            );
            $xml = \'\';
            $xml .= \"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\n\";
            $xml .= \"<root>\\n\";
            $xml .= self::xmlEncode($result);
            $xml .= \"</root>\";
            header(\"Content-Type:text/xml\");
            echo $xml;
         }
         public static function xmlEncode($result){
            $xml = $attr =\'\';
            foreach($result as $key=>$val){
                if(is_numeric($key)){
                    $attr = \"id=\'{$key}\'\";
                    $key = \"item{$key}\";
                }
                $xml .= \"<{$key} {$attr}>\";
                $xml .= is_array($val) ? self::xmlEncode($val) : $val;
                $xml .= \"</{$key}>\\n\";
            }
            return $xml;
         }
    }
    $data = array(
        \'id\'=>1,
        \'age\'=>20,
        \'username\'=>\'tim\',
        \'others\'=>array(1,2,3),
    );
    Reponse::xml(200,\'success\',$data);
    Reponse::json(200,\'success\',$data);

小伙伴们可以直接拿去使用,使用方法在代码的最下方:)

本文地址:https://www.stayed.cn/item/508

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。