为移动应用程序组织web服务


Organizing web services for mobile applications

背景

我为我的公司编写了一个内部使用的Playbook应用程序,用户可以登录并从我们的数据库中收集某些信息。但是,并不是所有用户都请求相同的信息。

该应用程序是在Adobe AIR框架中作为前端编写的,我使用PHP/MSSQL作为后端。

到目前为止,我已经在我们的内部Web服务器上按照以下层次结构组织了PHP脚本:

// Contains class whose constructor connects to our database
// and every method is a seperate query
./MyApp/liveScripts/service/Connection.php
// These are example php files that take POST inputs and executes the query
./MyApp/liveScripts/service/getDataX.php
./MyApp/liveScripts/service/getDataY.php
./MyApp/liveScripts/service/getDataZ.php

每个查询都返回XML格式的数据,供我的应用程序读取,然后显示。

问题

起初我只有几个特殊的查询,但现在我面临着大约40多个独特的查询,连接类充斥着许多独特的方法。

此外,我发现自己创建了很多单独的php文件来进行这些查询,感觉效率很低。以下是我90%的php文件的样子:

<?php
include("Connection.php");
$userid = $_POST['userid'];
$fooid = $_POST['fooid'];
$barid= $_POST['barid'];
$service = new Connection();
echo $service->getDataX($userid, $fooid, $barid);
?>

问题

我的问题是,根据您的经验,当有很多独特的查询需要处理时,组织PHP脚本的最佳方式是什么?拥有一个Connection类,将每个单独的查询存储为一个单独的方法,并为每个方法拥有一个唯一的PHP文件,这是一个可行的解决方案吗?

我试过在谷歌上搜索其他解决方案和层次结构,但还没有发现任何内容。

谢谢!

也许可以尝试通过将一系列变量传递给返回结果的新方法来动态创建查询。我个人从未将PHP/MSSQL用于PlayBook应用程序,但这正是我开始寻找的地方。