读取数据的三种方式
读取数据库方式开发首页接口
从数据库获取数据——》封装——》生成接口数
优点:数据时效性比较高的系统
2. 读取缓存方式开发首页接口(用途非常广)
从数据库获取信息——》封装——》返回数据
再次请求——》缓存——》返回数据
优点:减小数据库压力
3. 定时读取缓存方式开发接口
数据库 ——》crontab(定时生成)
请求 ——》缓存——》返回数据
开发APP可以安装工具 : Start BlueStacks安卓模拟器
读取数据库方式发开接口的代码实现:
/***********************************
*
*读取数据库的方式开发首页接口
*学php的小蚂蚁
*博客 http://my.oschina.net/woshixiaomayi/blog
*
************************************/
//载入前天写的db类
//代码内容请参考 http://my.oschina.net/woshixiaomayi/blog/518295
require_once('./db.php');
//载入之前写好的接口响应类
//代码内容请参考 http://my.oschina.net/woshixiaomayi/blog/517384
require_once('./response.php');
//接收分页数据 page 为当前第几页 pagesize 一页多少数据
$page=isset($_GET['page'])?$_GET['page']:1;
$pagesize=isset($_GET['pagesize'])?$_GET['pagesize']:5;
//检测这两个数值是否为数字
if(!is_numeric($page) or !is_numeric($pagesize)){
//不是数字,发送错误提示
/*
这里之所以使用了一个return是加强了程序的可读性,因为对程序不熟悉的程序员,不知道
在show方法中有exit,加上一个return,其他人就会知道执行到这一步之后,程序就会停止,
后面的程序就不会执行了。方便了其他人,大家好才是真的好\(^o^)/YES!
*/
return Response::show(400,'参数不合法');
}
//设置分页所需要的偏移量
$offset=($page-1)*$pagesize;
//编写sql语句
$sql="select * from actor limit ".$offset.",".$pagesize;
//如果连接数据库的时候出错,获取信息,并将自定义的信息返回
//以免将错误直接暴露给用户
try{
$connect =Db::getInstance()->connect();
}catch(Exception $ea){
//返回给APP的错误提示
return Response::show(400,'mysql not connect');
}
//数据库连接成功,执行sql语句,获取结果集
$result=mysql_query($sql,$connect);
$index_data=array();
while($row=mysql_fetch_assoc($result)){
$index_data[]=$row;
}
if($index_data){
//所需的结果数据拿到,返回数据
return Response::show(200,'内容获取成功',$index_data);
}else{
//没有拿到,返回错误提示
return Response::show(400,'首页数据获取失败');
}
?>
需要注意两点需要注意:
添加一个return,方便其他人阅读代码。
在数据库没有连接成功的时候,会获取一个异常,并返回提示信息。