iPhone requests to php


iPhone requests to php

我在php端工作,我的朋友在iPhone端工作。我们正在创建一个朋友和群组应用程序。我想知道是否最好为每个任务使用单独的文件,如创建组,删除组,添加朋友,删除朋友,或者最好使用一个调用必要函数的更新类。

我可以看到两个方法,我个人会选择第一个,因为它允许我最灵活,但当然决定是你做的。

  1. 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。

  2. 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() { ... }
}
?>

你的其他类看起来会很相似。

然后,您将创建一种机制来决定在哪种类型的对象上运行更新操作,可能通过在GETPOST变量中传递的参数。

另一种方法(也是我倾向的方法)是将操作直接添加到域对象中。像这样:

<?php
class User
{
    public function updateUser()
    {
        //update the user
    }
    public function deleteUser()
    {
        //delete the user
    }
    ....
}
?>

希望这有助于澄清一些。同样,这是一个相当主观的问题,因此它确实取决于您的编码和组织偏好。