0

快速说明:我的动作脚本技能很弱......我不是猴子,所以如果给出适当的建议,我可以弄清楚:

因此,我们使用SabreAMF来处理对后端的一些 AMF 调用。

事情进展顺利。

回调服务器和动作脚本方面都按预期工作。

我们要解决的一个问题是:

就目前而言,当我们需要返回一组(数组)数据时,我们只需通过执行以下操作(在 php 端)将其连接起来:

return 'VALUE1|VALUE2|VALUE3';

然后在动作脚本方面,我们做这样的事情:

var parts:Array=result.split('|');

/* parts[0] = VALUE1 , parts[1] = VALUE2 , parts[2] = VALUE3 */

以上工作正常,但我不禁认为必须有一种更清洁的方式来做事。

我们想做如下的事情:

PHP结束(SabreAMF):

 return array('Param1'=>'Value1','Param2'=>'Value2','Param3'=>'Value3');

并将这些数据自动映射到 actionscript 端的数组或对象。一个人可以返回数组并将它们正确映射(并且自动地,手指交叉)在动作脚本方面是合乎逻辑的。

所以,问题如下:

当使用 SabreAMF 处理对基于 PHP 的后端的 actionscript AMF 调用时,是否可以返回一个数组并让 actionscripts AMF 处理程序自动将数据集映射到数组(理想情况下)或对象而不使用连接?

串联接缝有点像黑客。

谢谢!

4

3 回答 3

1

使用 json_encode() 通过 JSON 将其作为字符串发送,然后在 AS3 中使用任何 JSON 库将其转换为适当的数据结构。我认为这是最简单的方法......或者我错了,有人会给我们更好的答案。

编辑:您也可以将其作为 XML 字符串发送,尽管我的 AS3 同事始终坚持使用 JSON 作为更简单的替代方案。

于 2012-12-30T12:10:55.420 回答
1

您可以使用 AMF 做您想做的事。Flash 将透明地解释接收到的数据。不过,您可能想检查 AmfPHP,因为 Sabre AMF 未维护。(免责声明:我运行 AmfPHP)。

JSON 和 XML 也可以。AMF 可能需要更多的工作来设置,这取决于您所知道的。它的主要优点是节省带宽和强大的打字,所以找出最适合你的。

http://www.silexlabs.org/amfphp/

于 2013-01-03T08:02:15.887 回答
0

PHP AMF3 扩展可以更快地合并到您的项目中。

看看这个 - https://github.com/neoxic/php-amf3

// Have your data
$data = array('Param1'=>'Value1','Param2'=>'Value2','Param3'=>'Value3');

// Encode into AMF3
$str = amf3_encode($data);

// Print to stdout (or use your way to pass it to the client)
print $str;
于 2013-02-21T20:17:19.380 回答