#arraycollection #zend-amf
#arraycollection #zend-amf
Вопрос:
Мы пытаемся перейти с более старой версии Zend Framework на самую последнюю (1.11).
Мы должны отправить некоторые ArrayCollections в гибкое приложение, к которому я не могу получить доступ. Предыдущие версии ZF Zend_Amf_Value_Messaging_ArrayCollection
имеют source
атрибут, которого нет в более новых версиях.
Я попытался отредактировать Zend_Amf_Value_Messaging_ArrayCollection
класс, чтобы иметь это source
свойство, но похоже, что ZF не отправляет объекты в гибкое приложение (я заметил это через отладочный прокси). ArrayCollection по-прежнему имеет правильные ключи (AFAIK, начиная с 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?
Ответ №1:
Мы, наконец, остановились на использовании ZendAMF, причем только Zend_Amf_Value_Messaging_ArrayCollection
из предыдущей версии:
class Zend_Amf_Value_Messaging_ArrayCollection
{
public $source;
}
Это позволяет нам по-прежнему использовать source
свойство.