我在php端工作,我的朋友在iPhone端工作。我们正在创建一个朋友和群组应用程序。我想知道是否最好为每个任务使用单独的文件,如创建组,删除组,添加朋友,删除朋友,或者最好使用一个调用必要函数的更新类。
我可以看到两个方法,我个人会选择第一个,因为它允许我最灵活,但当然决定是你做的。
-
Get/Post到一个文件
您有一个连接器文件,您的objective-c应用程序发布,然后该连接器文件连接您的其他文件。
这个流的一个例子可能看起来像:
iPhone (POST request)
{'method':'addGroup', 'groupName':'My Group'}
->connector.php
connector.php将联系
groups.php
并运行addGroup
方法。对于addGroup,您可以让它使用GET,例如
connector.php?method=addGroup&addGroup=My%20Group
。当然,身份验证应该始终使用POST,所以对于更复杂或更大量的数据,您必须使用POST。
-
Get/Post到多个文件
这也是一个可行的选择。在文档根目录下,您只需公开所有文件,例如:
/htdocs /addGroup.php /removeGroup.php /editGroup.php /login.php /logout.php
总之,我更喜欢第一个方法,因为您只剩下一个终点,这允许您控制哪些方法可供用户运行。
首先,你想要的组织结构取决于你需要的组织结构。每个人都根据自己的喜好来组织事情,所以这个问题本身就有点主观。(更不用说还有几种方法可以做到这一点,同样,这取决于您的组织。)
一种方法是将针对单个域对象(本例中为好友和组)的所有CRUD(创建-更新-删除)操作放在单个文件中。在本例中,文件名称可能是create.php
update.php
delete.php
它们的格式可能是:
<?php
class Update
{
public function updateUser()
{
//code to update a user
}
public function updateGroup() { ... }
}
?>
你的其他类看起来会很相似。
然后,您将创建一种机制来决定在哪种类型的对象上运行更新操作,可能通过在GET
或POST
变量中传递的参数。
另一种方法(也是我倾向的方法)是将操作直接添加到域对象中。像这样:
<?php
class User
{
public function updateUser()
{
//update the user
}
public function deleteUser()
{
//delete the user
}
....
}
?>
希望这有助于澄清一些。同样,这是一个相当主观的问题,因此它确实取决于您的编码和组织偏好。