>백엔드 개발 >PHP 튜토리얼 >PHP应用API接口实现

PHP应用API接口实现

WBOY
WBOY원래의
2016-06-23 13:29:15881검색

<pre class="n">//创建API.php类 <?phpheader('Content-Type:text/html;charset=utf-8'); //避免输出乱码$output = array();$a = @$_GET['a'] ? $_GET['a'] : '';$uid = @$_GET['uid'] ? $_GET['uid'] : 0;if (empty($a)) {    $output = array('data'=>NULL, 'info'=>'坑爹啊!', 'code'=>-201);    exit(json_encode($output));}//走接口if ($a == 'get_users') {    //检查用户    if ($uid == 0) {        $output = array('data'=>NULL, 'info'=>'The uid is null!', 'code'=>-401);        exit(json_encode($output));    }    //假设 $mysql 是数据库    $mysql = array(        10001 => array(            'uid'=>10001,            'vip'=>5,            'nickname' => 'Shine X',            'email'=>'979137@qq.com',            'qq'=>979137,            'gold'=>1500,            'powerplay'=> array('2xp'=>12,'gem'=>12,'bingo'=>5,'keys'=>5,'chest'=>8),            'gems'=> array('red'=>13,'green'=>3,'blue'=>8,'yellow'=>17),            'ctime'=>1376523234,            'lastLogin'=>1377123144,            'level'=>19,            'exp'=>16758,        ),        10002 => array(            'uid'=>10002,            'vip'=>50,            'nickname' => 'elva',            'email'=>'elva@ezhi.net',            'qq'=>NULL,            'gold'=>14320,            'powerplay'=> array('2xp'=>1,'gem'=>120,'bingo'=>51,'keys'=>5,'chest'=>8),            'gems'=> array('red'=>13,'green'=>3,'blue'=>8,'yellow'=>17),            'ctime'=>1376523234,            'lastLogin'=>1377123144,            'level'=>112,            'exp'=>167588,        ),        10003 => array(            'uid' => 10003,            'vip' => 5,            'nickname' => 'Lily',            'email' => 'Lily@ezhi.net',            'qq' => NULL,            'gold' => 1541,            'powerplay'=> array('2xp'=>2,'gem'=>112,'bingo'=>4,'keys'=>7,'chest'=>8),            'gems' => array('red'=>13,'green'=>3,'blue'=>9,'yellow'=>7),            'ctime' => 1376523234,            'lastLogin'=> 1377123144,            'level' => 10,            'exp' => 1758,        ),    );    $uidArr = array(10001,10002,10003);    if (in_array($uid, $uidArr, true)) {        $output = array('data' => NULL, 'info'=>'The user does not exist!', 'code' => -402);        exit(json_encode($output));    }    //查询数据库    $userInfo = $mysql[$uid];    //输出数据    $output = array(        'data' => array(            'userInfo' => $userInfo,            'isLogin' => true,//是否首次登陆            'unread' => 4,//未读消息数量            'untask' => 3,//未完成任务        ),        'info' => 'Here is the message which, commonly used in popup window', //消息提示,客户端常会用此作为给弹窗信息。        'code' => 200, //成功与失败的代码,一般都是正数或者负数    );    exit(json_encode($output));} elseif ($a == 'get_games_result') {    //...    die('您正在调 get_games_result 接口!');} elseif ($a == 'upload_avatars') {    //....    die('您正在调 upload_avatars 接口!');}
//调用测试http://localhost:63342/HelloPHP/API.php?a=get_users&uid=10001
//返回结果
{
    "data": {
        "userInfo": {
            "uid": 10001,
            "vip": 5,
            "nickname": "Shine X",
            "email": "979137@qq.com",
            "qq": 979137,
            "gold": 1500,
            "powerplay": {
                "2xp": 12,
                "gem": 12,
                "bingo": 5,
                "keys": 5,
                "chest": 8
            },
            "gems": {
                "red": 13,
                "green": 3,
                "blue": 8,
                "yellow": 17
            },
            "ctime": 1376523234,
            "lastLogin": 1377123144,
            "level": 19,
            "exp": 16758
        },
        "isLogin": true,
        "unread": 4,
        "untask": 3
    },
    "info": "Here is the message which, commonly used in popup window",
    "code": 200
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:php彩蛋다음 기사:php中++i 与 i++ 的区别