実際には、PHP 側で ArrayCollection タイプを作成し、ネイティブ ArrayCollection オブジェクトを AMF 経由で直接送信できます。
ここに私が持っているいくつかのphpコードがあります。これを という名前のファイルに保存します。
ArrayCollection.php
<?php
class ArrayCollection {
public function getASClassName()
{
return 'flex.messaging.io.ArrayCollection';
}
var $source = array();
function ArrayCollection()
{
$this->source = array();
}
}
これを php 側で使用するには、php プロジェクトに ArrayCollection.php を含めます。これを呼び出す構文は次のようになります。
$myArrayCollection = new ArrayCollection();
ArrayCollection を構成する配列にアクセスしたい場合は、これを行うことができます
$someArray = $myArrayCollection->source;
Flex 側では、配列コレクションを Zend AMF 経由でサーバーに直接渡すことができます。私のプロジェクトの 1 つに、ArrayCollections を持つ多くの値オブジェクトがあり、それらは PHP 側で問題なく動作します。だからそれはできる。
PHP で ArrayCollection をまったく動作させることができない場合は、Actionscript で ArrayCollection の「ソース」プロパティとして配列にアクセスできます。コードは actionscript で次のようになります。
import mx.collections.ArrayCollection;
public var myAC:ArrayCollection = new ArrayCollection();
public var myArray:Array = new Array();
// populate your ArrayCollection with data...
myArray = myAC.source;
myArray は、ArrayCollection myAC 内のオブジェクトの配列になります。
お役に立てれば。さらに質問がある場合やコード サンプルがある場合は、お知らせください。
これを理解するのにも少し時間がかかりました。