我有一个 iOS 和 Android 应用程序,它使用 JSON 和 PHP 从数据库下载数据。基本上它有很多 mysql 查询从我的 MySQL 数据库返回数据。当我开始这个项目时,只是在 php 中创建了一个数组,其中包含所有查询。然后我会在我的 url 中发送一个索引来访问该查询以及一些可选的变量。
http://url.nl/script.php?index=1&var1=foo&var2bar
这工作得很好,对于一个小项目来说还不错,但我知道这不是一个好的编程,也不是一个好的模型。
所以基本上是这样的:
- 采用模型- View - Controller -存储模型的应用
- 当应用需要数据时,Store 类通过 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。 (Google 一下,在他们的页面上找到“HTTP 请求操作管理器”并查看 GET)
关于php - 使用 PHP 下载 JSON 的移动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19512577/