移动应用程序使用 PHP 下载 JSON


Mobile app downloading JSON with PHP

我有一个iOS和Android应用程序,它使用JSON和PHP从数据库下载数据。基本上,很多mysql查询从我的MySQL数据库返回数据。当我开始这个项目时,只是在 php 中创建了一个包含所有查询的数组。然后,我将在我的 url 中发送一个索引以访问该查询和可选的一些变量。

http://url.nl/script.php?index=1&var1=foo&var2bar

这工作得很好,对于一个小项目来说还不错,但我知道这不是好的编程,也不是一个好的模型。

所以基本上是这样的:

    具有模型-
  • 视图-控制器-商店模型的应用程序
  • 当应用需要数据时,应用商店类通过 url 请求数据,并在该 URL 中发送索引
  • PHP 脚本读取索引,在数组中执行保存的查询,将数据编码为 JSON,返回数据
  • 应用的应用商店类读取和解码数据
  • 应用的 View 类以所需的任何方式呈现数据。

因此,除了访问我的数据库,编码和返回数据之外,我并没有真正使用php做太多事情。

由于我的应用程序变得非常大并且使用越来越多的查询,我想在我的新版本中做正确的事情。在这种情况下,PHP 使用什么好的模型?

我不是Web开发人员,所以我试图将所有PHP进程保持在最低限度,但意识到这不是一种好的编程方式。

与其

将查询存储在数组中,不如在服务器上使用某种 RESTful API。然后,您将GET请求发送到服务器,服务器执行它们并返回所需的数据。然后可以读取和解码。(您还可以向服务器发送和更新数据)。

有一堆用于PHP的REST Framworks,但我使用了"Slim Framework",因为它非常容易理解(即使对于不熟悉php的人也是如此)。

他们网站上的这个例子:

$app = new 'Slim'Slim();
$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
});
$app->run();

可以调用 www.yourside.com/hello/Mark,然后返回"Hello Mark"。有 5 行代码。它真棒。

你可以在那里编写任何php代码。要对来自MySQL数据库的数据进行编码,只需遵循本教程:http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-slim-framework/忽略JQuery部分。

然后,在您的应用程序中,您从提供的 URL 请求数据。我为此使用AFNetworking。(谷歌一下,在他们的页面上找到"HTTP请求操作管理器"并查看GET)