我有很多客户问我如何制作手机应用程序来连接到他们的网站来检索数据,允许用户登录等。他们中的大多数都有基于PHP的网站,但对如何制作API来与之交互却一无所知。他们问我为什么我不能直接连接到他们的SQL数据库。我不认为在移动应用上做这件事是件好事。我更希望他们有某种形式的API。
就基于PHP的站点而言,在实现用于此目的的API时,最佳选择是什么?
发布于 2011-07-08 03:15:29
您需要查看RESTful web服务。看看这个here的维基吧。你的客户基本上需要构建应用程序,这些应用程序通过一些符合REST的数据类型来服务于网站的底层数据,例如PHP、XML、SOAP等。这将使您能够构建移动应用程序,这些应用程序发出HTTP请求以获取数据,然后它可以以自己独特的方式显示数据。
基于JSON的服务示例如下:
$action = $_GET['action'];
switch($action) {
case 'get-newest-products':
echo json_encode(getNewestProducts());
break;
case 'get-best-products':
echo json_encode(getBestProducts());
break;
.
.
.
default:
echo json_encode(array());
break;
}
function getNewestProducts($limit = 10) {
$rs = mysql_query("SELECT * FROM products ORDER BY created DESC LIMIT $limit");
$products = array();
if (mysql_num_rows($rs) > 0) {
while ($obj = mysql_fetch_object($rs)) {
$products[] $obj;
}
}
return $products;
}
function getBestProducts($limit = 10) {
$rs = mysql_query("SELECT * FROM products ORDER BY likes DESC LIMIT $limit");
$products = array();
if (mysql_num_rows($rs) > 0) {
while ($obj = mysql_fetch_object($rs)) {
$products[] $obj;
}
}
return $products;
}您可以按如下方式查询接口(打开mod_rewrite ) http://myapi.mywebsite.com/get-newest-products
发布于 2011-07-08 03:04:44
只需创建一个具有单个控制器的api子域,并为每个特定任务创建一个方法-以json格式输出数据,您就设置好了:
http://api.theirsite.com/get-users
http://api.theirsite.com/get-news等等。
发布于 2011-07-08 03:04:42
REST是一种很好的组织检索资源的方法。创建REST API是定义可对数据执行的操作集的一种非常有用的方法,同时在API和数据库中的数据之间维护相对较薄的抽象层。也就是说,它并不是微不足道的,但它确实迫使人们考虑用法和安全问题,并且是非常可扩展和面向未来的。
https://stackoverflow.com/questions/6615691
复制相似问题