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

使用PHP下载JSON的移动应用程序,php,mysql,objective-c,json,servlets,Php,Mysql,Objective C,Json,Servlets,我有一个iOS和Android应用程序,它使用JSON和PHP从数据库下载数据。基本上,有很多mysql查询从我的mysql数据库返回数据。当我开始这个项目时,我刚刚用php创建了一个数组,其中包含所有查询。然后我会在我的url中发送一个索引来访问该查询和一些可选的变量 http://url.nl/script.php?index=1&var1=foo&var2bar 这很好,对于一个小项目来说也不错,但我知道这既不是好的编程,也不是好的模型 所以基本上是这样的: 具有模型视

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

http://url.nl/script.php?index=1&var1=foo&var2bar
这很好,对于一个小项目来说也不错,但我知道这既不是好的编程,也不是好的模型

所以基本上是这样的:

  • 具有模型视图控制器商店模型的应用程序
  • 当应用程序需要数据时,存储类通过url请求数据,并在该url中发送索引
  • PHP脚本读取索引,执行数组中保存的查询,将数据编码为JSON,返回数据
  • 应用程序的商店类读取和解码数据
  • 应用程序的视图类以所需的任何方式显示数据
因此,除了访问我的数据库、编码和返回数据之外,我并没有真正使用php

由于我的应用程序越来越大,使用的查询越来越多,我想在新版本中做正确的事情。在这个场景中,PHP使用的好模型是什么


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

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

有很多restframworksforphp,但我使用了“slimframework”,因为它非常容易理解(即使对于不熟悉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数据库中的数据进行编码,只需遵循本教程:忽略JQuery部分即可


然后,在应用程序中,您可以从提供的URL请求数据。我使用AFN网络来实现这一点。(谷歌it,在他们的页面上找到“HTTP请求操作管理器”并查看GET)

您是否想按照当前的方式操作(只需将web服务作为API来获取和存储数据,在设备上运行的应用程序中执行所有数据处理)或者将一些处理移到web服务中是一种体系结构选择,这将取决于应用程序的需求。。。在不知道应用程序在做什么的情况下,很难说应该在哪里进行多少处理。一般来说,您可能正在试图找到一种平衡,以最大限度地减少设备端资源消耗(处理、内存使用和网络活动)。我只是希望这类事情有某种模式或例子。使用URL在应用程序中存储查询并访问它们。我现在所做的似乎不是很好的编程,但话说回来,我不是网络开发人员。PHP中的一个例子是。@redreggae:虽然我完全支持使用RESTful API,但我认为这无助于回答OP关于在web服务和设备之间重新划分处理的问题。