PHP实现的简单mock json脚本分享
2015-02-10 00:00
507 查看
现在有太多方法去mock,不过当还是要连接到远程服务器上测试真正的返回的时候,如果机器上没有跑node而且有php的话,用这货来临时mock一下,或许更轻松。
如果你不想改动php里的data object,觉得麻烦,那么直接改动json好了,你或许会问,那我为啥不直接访问一个json呢,答:
1.你或许需要一个callback包装这个结果;
2.你或许期望这个json允许跨域请求;
3.你或许期望这个json可以自定义header编码…
代码很简单,就不过多描述了。
<?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实现的简单mock json脚本分享
- PHP中文分词的简单实现代码分享
- 分享php中四种webservice实现的简单架构方法及实例
- PHP实现返回JSON和XML的类分享
- WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
- php简单实现查询数据库返回json数据
- php jquery ajax json 全国省市区三级联动下拉列表 简单实现
- Python实现的简单发送邮件脚本分享
- 分享php中四种webservice实现的简单架构方法及实例
- PHP实现的简单三角形、矩形周长面积计算器分享
- WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
- 分享php中四种webservice实现的简单架构方法及实例
- 分享php中四种webservice实现的简单架构方法及实例
- 分享php中四种webservice实现的简单架构方法及实例[转载]
- php jquery ajax json 全国省市区三级联动下拉列表 简单实现
- 分享php中四种webservice实现的简单架构方法及实例
- php实现zip压缩文件解压缩代码分享(简单易懂)
- php实现zip压缩文件解压缩代码分享(简单易懂)
- [转]分享php中四种webservice实现的简单架构方法及实例
- php实现的一个简单json rpc框架实例