ZendAMF 1.11 и недостающий исходный код

Мы пытаемся обновить старую версию Zend Framework до самой последней (1.11).

Мы должны отправить несколько коллекций ArrayCollections в приложение Flex, к которому я не могу получить доступ. Предыдущие версии ZF Zend_Amf_Value_Messaging_ArrayCollection имеют атрибут source, которого нет в новых версиях.

Я попытался отредактировать класс Zend_Amf_Value_Messaging_ArrayCollection, чтобы иметь это свойство source, но похоже, что ZF не отправляет объекты в приложение Flex (я заметил это через прокси-сервер отладки). ArrayCollection по-прежнему имеет правильные ключи (насколько мне известно, от 0 до 3), но значения равны NULL.

Это из небольшого тестового файла:

$c = new RoomCategoryVO();
$c->name = 'root';
$c->childCategories = new Zend_Amf_Value_Messaging_ArrayCollection();

$cc1 = new RoomCategoryVO();
$cc1->sortPriority = 2;
$cc1->name = $this->xml->roomService->windows;
$cc1->parentCategory = $c;
$cc1->childItems = new Zend_Amf_Value_Messaging_ArrayCollection();
$re11 = new ElementVO();
$re11->id = "simpleWindow";
$re11->name = $this->xml->roomService->window;
$re11->type = 'SIMPLE_WINDOW';
$re11->icon = 'assets/runtime/images/schemeIcons/simpleWindow.png';
//$cc1->childItems->source[] = $re11;
$cc1->childItems[] = $re11;


//$c->childCategories->source[] = $cc1;
$c->childCategories->append($cc1);

В комментариях вы видите «старый» способ ZendAMF, под ними — новый.

Есть ли способ заставить ZendAMF снова использовать свойство source, не возвращаясь к более старой версии ZF?


person iarwain01    schedule 04.10.2011    source источник


Ответы (1)


В конце концов мы остановились на использовании ZendAMF, только Zend_Amf_Value_Messaging_ArrayCollection из предыдущей версии:

class Zend_Amf_Value_Messaging_ArrayCollection
{
    public $source;
}

Это позволяет нам по-прежнему использовать свойство source.

person iarwain01    schedule 05.10.2011