2009-02-16 98 views
1

我是新來flex開發我的問題是我如何通過使用php的flex 3和mysql數據庫之間傳遞變量?我被告知最好的方法是AMFPHP,但這似乎是一個過度殺或可能不是不確定..任何想法?在flex和php之間傳遞變量

回答

3

我會使用json over xml,因爲json會傳輸更少的字節,而php的json_encode($ object)是快速且容易的。

我會在amfphp上使用json,因爲json是通用的。例如,我可以通過返回json爲flex或javascript創建一個Web服務。

您可能會看看這個article用於json,amfphp和xml之間的比較。此外,flex,php和json上還有一個不錯的tutorial

1

有幾種選擇可供您選擇。實質上,它歸結爲您想如何處理圍欄PHP側的數據。

我花時間調查的兩個將是簡單的XML(我的第一選擇)和AMFPHP。

XML: Flex可以非常方便地使用XML數據工作,甚至可以自動將ActionScript映射到/從ActionScript對象(一般地,或類似於xobj project on GoogleCode到類型化實例)。同樣,在PHP代碼中有很多可用於處理XML的支持。

AMFPHP: AMFPHP爲您提供了通過電線將類型化的ActionScript對象傳遞到您的PHP代碼的方法。 AMFPHP項目中包含了一些工具,可以使PHP在PHP上的工作變得簡單。

2

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的新控制器/服務輕鬆添加到您的應用程序中

1

如果你正在做一個簡單的查詢,我會以普通的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

而且下載頁面:http://framework.zend.com/download/amf