PHP实现的简单mock json脚本分享


Posted in PHP onFebruary 10, 2015

现在有太多方法去mock,不过当还是要连接到远程服务器上测试真正的返回的时候,如果机器上没有跑node而且有php的话,用这货来临时mock一下,或许更轻松。

<?php

/**

 * Mock Json for Javascript

 *

 * @author soulteary

 * @date 2014-06-15

 */

 

 

/**

 * 请求接口字段:字符集

 */

define('charset','charset');

 

/**

 * 请求接口字段:回调函数名

 */

define('callback','callback');

 

/**

 * 请求接口字段:跨域字段

 */

define('crossDomain','cross-domain');

 

 

/**

 * 输出mock数据

 * 如果存在mock.json文件,则数据从mock.js中获取

 *

 * @return string

 */

functionmockData()

{

    if(file_exists('mock.json')){

        $data=json_decode(file_get_contents('mock.json'));

    }else{

        $data=Array(

            'code'=>200,

            'desc'=>'Get the default data.',

            'login'=>true,

            'data'=>Array(

                'name'=>'test api.'

            )

        );

    }

    returnjson_encode($data);

}

 

 

/**

 * 输出字符集,允许结果为gbk、gb2312、utf-8

 * 如果非法或者未设置,输出utf-8

 *

 * @return string

 */

functioncharset()

{

    $ret='utf-8';

    if(empty($_REQUEST[charset])){

        return$ret;

    }else{

        $charset=strtolower($_REQUEST[charset]);

        if(in_array($charset,array('gbk','gb2312'),true)){

            return$charset;

        }else{

            return$ret;

        }

    }

}

 

 

/**

 * 拼装json数据

 *

 * @return string

 */

functionjsonGenerator()

{

    if(!empty($_REQUEST[callback])){

        header('Content-Type: application/javascript; charset='.charset());

        return$_REQUEST[callback]."(".mockData().");";

    }else{

        if(!empty($_REQUEST[crossDomain])){

            header("Access-Control-Allow-Origin: *");

        };

        header('Content-type: application/json; charset='.charset());

        returnmockData();

    }

}

 

/**

 * 输出结果

 */

die(jsonGenerator());

如果你不想改动php里的data object,觉得麻烦,那么直接改动json好了,你或许会问,那我为啥不直接访问一个json呢,答:

1.你或许需要一个callback包装这个结果;
2.你或许期望这个json允许跨域请求;
3.你或许期望这个json可以自定义header编码…

{

    "data":1,

    "w":"测试"

}

代码很简单,就不过多描述了。
PHP 相关文章推荐
php去除重复字的实现代码
Sep 16 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 PHP
php使用指定编码导出mysql数据到csv文件的方法
Mar 31 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
PHP实现的回溯算法示例
Aug 15 PHP
php语言注释,单行注释和多行注释
Jan 21 PHP
PHP调用微博接口实现微博登录的方法示例
Sep 22 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 PHP
PHP实现的带超时功能get_headers函数
Feb 10 #PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 #PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
Feb 10 #PHP
PHP框架Laravel的小技巧两则
Feb 10 #PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
Feb 10 #PHP
Laravel 5.0 发布 新版本特性详解
Feb 10 #PHP
PHP转盘抽奖接口实例
Feb 09 #PHP
You might like
PHP中FTP相关函数小结
2016/07/15 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
JavaScript中的Location地址对象
2008/01/16 Javascript
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
原生JS实现跑马灯效果
2017/02/20 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
Python中encode()方法的使用简介
2015/05/18 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
python数据类型强制转换实例详解
2020/06/22 Python
python 基于wx实现音乐播放
2020/11/24 Python
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
质检部部长职责
2013/12/16 职场文书
大学四年规划书范文
2013/12/27 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
学生实习证明范文
2014/09/28 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书