如何创建网站API

gon*_*ins 9 php iphone api android ios

我让很多客户问我关于制作连接到他们网站的移动应用程序来检索数据,允许用户登录等等.他们中的大多数都有基于PHP的网站,但是没有任何关于使API与之交互的线索他们.他们问我为什么不能直接连接到他们的SQL数据库.我不认为从移动应用程序做这件事是件好事.我希望他们有一些API.

对于基于PHP的站点,在为此目的实现API时,最佳选择是什么?

Gor*_*dyD 2

您想要研究RESTful Web 服务在这里查看 wiki 。您的客户本质上需要构建 PHP 应用程序,通过一些符合 REST 的数据类型(例如JSON、XML、SOAP等)为其网站的底层数据提供服务。有许多内置 PHP 函数可以快速转换 PHP 数据结构到这些格式。这将使您能够构建发出 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;
}
Run Code Online (Sandbox Code Playgroud)

您可以按如下方式查询 API(启用 mod_rewrite)http://myapi.mywebsite.com/get-newest-products