PHP封装通信接口数据方法-生成json与通信数据标准格式

//封装通信接口数据方法


//一.PHP生成json数据
$arr = array(
    'id' => 1,
    'name' => 'xiaoming'
);

echo json_encode($arr);//json_encode()这个函数正能接受utf-8编码的数据,如果传入其他编码格式的值则返回null

$data = '输出json数据';
$newData = iconv('UTF-8','GBK',$data);//转换编码格式参数一原始编码格式,参数二要转换成为的编码格式,参数三传入要转换格式的数据
echo json_encode($newData);//这里转换输出的是gbk编码格式的数据,结果返回空
//二.通信数据标准格式

/**
 * code     状态码(200,400等)
 * message     提示信息(邮箱格式不正确;数据返回成功等)
 * data     返回数据
 */
//实例:
//test2.php
class Response {
    /**
     * 按json方式输出数据    
     * @param  integer $code   状态码    
     * @param  string $message 提示信息
     * @param  array  $data    数据
     * @return string          
     */
    public static function json($code,$message = '',$data = array()){
        if (!is_numeric($code)) { //is_numeric()判断变量是否为数字
            return '';
        }

        $result = array(
            'code' => $code,
            'message' => $message,
            'data' => $data
        );

        echo json_encode($result);
        exit;
    }
}
<?php
//test1.php
require('./models/test2.php');//引入test2.php

$data = array(
    'id' => 1,
    'name' => 'xiaojie'
);
$test = new Response();//实例化test2.php文件中Response类
$test->json(200,'数据返回成功',$data);
//浏览器执行test1.php文件返回结果
{"code":200,"message":"\u6570\u636e\u8fd4\u56de\u6210\u529f","data":{"id":1,"name":"xiaojie"}}

 

posted @ 2017-12-04 09:16  enjie  阅读(1351)  评论(0编辑  收藏  举报