关闭。这个问题是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 的人,下面是一些示例代码来演示更新特定联系人记录的过程。示例代码执行以下操作:
示例代码:
<?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/