我是新来flex开发我的问题是我如何通过使用php的flex 3和mysql数据库之间传递变量?我被告知最好的方法是AMFPHP,但这似乎是一个过度杀或可能不是不确定..任何想法?在flex和php之间传递变量
回答
有几种选择可供您选择。实质上,它归结为您想如何处理围栏PHP侧的数据。
我花时间调查的两个将是简单的XML(我的第一选择)和AMFPHP。
XML: Flex可以非常方便地使用XML数据工作,甚至可以自动将ActionScript映射到/从ActionScript对象(一般地,或类似于xobj project on GoogleCode到类型化实例)。同样,在PHP代码中有很多可用于处理XML的支持。
AMFPHP: AMFPHP为您提供了通过电线将类型化的ActionScript对象传递到您的PHP代码的方法。 AMFPHP项目中包含了一些工具,可以使PHP在PHP上的工作变得简单。
AMFPHP没有真正积极开发。现在最好的选择是使用Zend_Amf http://wadearnold.com/blog/?page_id=155,Zend和Adobe都支持Zend_Amf。
不要因为需要Zend Framework组件而感到害怕。该框架是模块化的,您可以使用自己的自定义php类访问数据,而无需产生Zend Framework学习曲线。
使用AMF的好处在于它是一个二进制数据传输,速度非常快。
另外,使用XML甚至JSON,如果你只是想让你的Flex应用程序获得结果数据的API调用,那么这是一个烦人的额外步骤。如果出于某种原因需要将输出数据处理为xml或json,则可以通过扩展或创建将数组和对象的数据转换为xml或json的新控制器/服务轻松添加到您的应用程序中
如果你正在做一个简单的查询,我会以普通的POST数据传递你的数据。您可以使用Flex中的HTTPService组件来执行此操作。在PHP方面,我将用XML字符串进行响应,并将HTTPService resultFormat设置为“e4x”(用于XML的Ecmascript),以便对结果数据进行简单的对象操作。
这里是的HTTPService的LiveDocs中参考:http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_2.html
对于更复杂的查询/操作,也有使用Flex的RemoteObject与AMF作为数据协议的选择。在PHP方面,您可以使用zend框架AMF组件进行通信。
这里是的RemoteObject的LiveDocs中参考:对于Zend的AMF http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_4.html