在flex和php之间传递变量

时间:2009-02-16 02:02:59

标签: php mysql flex

我是flex新开发我的问题是如何使用php在flex 3和mysql数据库之间传递变量?我被告知最好的办法是AMFPHP,但这似乎是一种过度杀戮或者可能不是不确定......有什么想法吗?

4 个答案:

答案 0 :(得分:3)

我使用json而不是xml,因为json将传输更少的字节,php的json_encode($ object)快速而简单。

我使用json而不是amfphp,因为json是通用的。例如,我可以通过返回json来为flex或javascript创建一个Web服务。

您可以查看此article以了解json,amfphp和xml之间的比较。此外,这是一个很好的tutorial在flex,php和json。

答案 1 :(得分:2)

AMFPHP并未真正积极开发。现在最好的选择是使用Zend和Adobe支持的Zend_Amf http://wadearnold.com/blog/?page_id=155

不要害怕Zend Framework组件的需求。该框架是模块化的,您可以使用自己的自定义php类来访问数据,而无需产生Zend Framework学习曲线。

使用AMF的好处在于,由于它是二进制数据传输,因此速度非常快。

此外,如果您只是希望您的flex应用程序获取api调用的结果数据,那么使用XML甚至JSON是一个令人讨厌的额外步骤。如果由于某种原因,您还需要处理输出到xml或json的数据,可以通过扩展或创建将数据从数组和对象转换为xml或json的新控制器/服务轻松添加到应用程序

答案 2 :(得分:1)

有几个选择对你开放。从本质上讲,它归结为您希望如何处理围栏中PHP的数据。

我花时间调查的两个将是简单的XML(我的第一选择)和AMFPHP。

XML: Flex可以非常轻松地使用XML数据,甚至可以自动将其映射到ActionScript对象(通常是xobj project on GoogleCode或类似{{3}})到类型化实例。同样,在PHP代码中使用XML也有很多支持。

AMFPHP: AMFPHP为您提供了通过线路将类型化的ActionScript对象传递给PHP代码的方法。 AMFPHP项目中包含了一些工具,可以轻松地在PHP方面使用MySQL。

答案 3 :(得分:1)

如果您正在进行简单查询,我会将您的数据作为普通POST数据传递。您可以使用Flex中的HTTPService组件执行此操作。在PHP方面,我将使用XML字符串进行响应,并将HTTPService resultFormat设置为“e4x”(用于XML的Ecmascript),以便对结果数据进行简单的对象操作。

以下是HTTPService的livesocs参考:http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_2.html

对于更复杂的查询/操作,还可以选择将Flex RemoteObject与AMF一起用作数据协议。在PHP端,您可以使用zend框架AMF组件进行通信。

这是RemoteObject的livingocs参考:http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_4.html

Zend AMF的下载页面:http://framework.zend.com/download/amf