Flex ve Zend_AMF: Nasıl Flex Flex ArrayCollection PHP içine alabilirim?

1 Cevap php

Şu anda Flex'te bir ArrayCollection var ve PHP (Zend_AMF) gönderdi istiyorum. Zend_AMF wiki göre, üzerinde bir ArrayCollection göndererek doğrudan hiçbir iyi bir nesne olarak ArrayCollection döküm Zend_AMF zorlar. Doğrusu benim modelleri bir dizi olurdu.

Ben iyi yolu esnek bir dizi ArrayCollection dönüştürmek ve daha sonra bunu üzerinden göndermek için olacağını varsayıyorum. Bu doğrudur ve eğer öyleyse nasıl yapacağını Flex 3?

Eğer daha iyi bir öneri varsa, o da mutluluk duyacağız.

Seyir için teşekkürler!

1 Cevap

Aslında, PHP tarafında bir ArrayCollection türü oluşturabilir ve AMF üzerinden doğrudan yerli ArrayCollection nesneleri göndermek.

İşte çalışır olması, bazı php kodudur. Adlı bir dosyada bu kaydet

ArrayCollection.php

<?php
class ArrayCollection {
    public function getASClassName()
    {
        return 'flex.messaging.io.ArrayCollection';
    }

    var $source = array();

    function ArrayCollection()
    { 
    	$this->source = array(); 
    }
}

Php tarafında bu kullanmak için php projede ArrayCollection.php ve bunun gibi bir şey görünüyor aramak için sözdizimi şunlardır:

$myArrayCollection = new ArrayCollection();

Eğer ArrayCollection oluşturan dizi erişmek istiyorsanız ve bunu yapabilirsiniz

$someArray = $myArrayCollection->source;

Flex tarafta Zend AMF üzerinden sunucuya doğrudan Array Koleksiyonlar iletebilirsiniz. Benim projelerin birinde ben onları ArrayCollections var ve PHP tarafında sadece iyi çalışır birçok değer nesneler var. Yani bu yapılabilir.

Kesinlikle ArrayCollection PHP çalışma alınamıyor ise sadece Actionscript ArrayCollection bir "kaynak" özelliği olarak dizi erişebilirsiniz. Kod actionscript böyle bir şey görünüyor:

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 şimdi ArrayCollection myAC içinde nesneleri bir dizi olacak.

Umarım bu yardımcı olur. Eğer başka sorularınız varsa ve / veya varsa bir örnek kod bana bildirin.

O da bu bir anlamaya bana biraz aldı.