足球游戏_中国足彩网¥体育资讯$

PHP实现的简单mock json脚本分享
来源:易贤网 阅读:563 次 日期:2015-02-11 14:23:43
温馨提示:易贤网小编为您整理了“PHP实现的简单mock json脚本分享”,方便广大网友查阅!

这篇文章主要介绍了PHP实现的简单mock json脚本分享,本文直接给出实现代码,需要的朋友可以参考下

现在有太多方法去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":"测试"

}

代码很简单,就不过多描述了。

中国足彩网信息请查看IT技术专栏

中国足彩网信息请查看网络编程
易贤网手机网站地址:PHP实现的简单mock json脚本分享
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 足球游戏_中国足彩网¥体育资讯$ 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65099533/13759567129 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标