php - 将数据传递给 PHP 的选项有哪些?

标签 php ios swift filemaker

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

7年前关闭。




Improve this question




凭借最少的“真正”编程经验,我正在开发一个项目,该项目将我已经构建的 FileMaker Pro 解决方案与使用 FileMaker Server 的 PHP API 的 native iOS 应用程序集成在一起。 iOS 应用程序适用于 iPhone,并且是用 Swift 编写的。

我们正在尝试了解处理某些场景的最有效方法,特别是在将数据写回服务器时。让我们使用地址簿的简单示例。当用户导航到联系人记录时,他/她可以选择一个字段,编辑然后保存它的内容。

虽然我们已经实现了许多将数据写入服务器的功能,但它们都相对简单(例如扫描条形码、发送触发 FM Server 中的脚本的 php 请求,然后将结果呈现给客户端)。对于具有许多字段的联系人记录,似乎通过标准 PHP URL 将每个字段的值作为变量发送,其中一些可能是段落或照片,效率低下且体积庞大。

对于那些不熟悉 FileMaker PHP API 的人,下面是一些示例代码来演示更新特定联系人记录的过程。示例代码执行以下操作:

  • 将从客户端传递的参数设置为变量。
  • 定义执行代码的布局(FM PHP API 作用于布局,而不是 SQL 之类的表)
  • 查找记录并更新字段。

  • 示例代码:
    <?php
    require_once 'Filemaker.php';
    
    //connect to db
    $fm = new FileMaker();
    $fm->setProperty('database', 'fmDbName');
    $fm->setProperty('hostspec', '123.45.67.89');
    $fm->setProperty('username', 'user');
    $fm->setProperty('password', 'password');
    
    //define layout on which to process
    $layout = 'php_contacts';
    
    //define variables passed from client
    $contactId = $_GET['contactId'];
    $first = $_GET['firstName'];
    $last = $_GET['lastName'];
    $mobile = $_GET['mobile'];
    $office = $_GET['office'];
    $note = $_GET['note'];
    
    //Find the contact which is being updated
    $find = $fm->newFindCommand($layout);
    $find->addFindCriterion('contactId', $contactId);
    
    //execute the find
    $results = $find->execute();
    
    //check for error
    if (FileMaker::isError($result)) {
        echo "     Error: ".$results."     ";
        exit;
    }
    
    //declare the record being updated
    $record = $results->getFirstRecord();
    
    //update the fields
    $record->setField('firstName', $first);
    $record->setField('lastName', $last);
    $record->setField('mobile', $mobile);
    $record->setField('office', $office);
    $record->setField('note', $note);
    
    ?>
    

    我们面临的挑战不是如何实现特定的方法,而是首先要了解选项是什么以及与之相伴的任何最佳实践。

    例如,将变量作为数组或字典从客户端发送到 PHP 是否比将它们作为 URL 中的独立变量发送更好?还有哪些其他选项可以将数据从 native 应用程序中的多个字段巧妙地推送到 PHP 服务器?

    谢谢!

    最佳答案

    我很确定 PHP 基本上可以处理 HTTP 请求,基本上就是 POST 和 GET。

    您发送的结构应根据您的需要定义,没有完美的解决方案。

    您应该检查 HTTP 请求的工作方式:
    http://www.w3schools.com/tags/ref_httpmethods.asp

    关于php - 将数据传递给 PHP 的选项有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27932149/

    相关文章:

    php - 从命令行调用 PHP 函数

    ios - 代号一个文本域密码约束

    ios - 在 UITextView 中滚动后获取可见文本的 NSRange

    ios - shouldChangeCharactersIn 结合建议文本

    xcode - 如何在不同storyboard之间传递值?

    java - 字符串在数据库中作为整数发布

    php - 在 echo 中显示所选选项的结果(PHP 形式)

    ios - 如何在 iOS 应用程序中删除 SQLite 中的记录

    iphone - 我可以在我的应用中禁止系统警报吗?

    JavaScript 重定向错误