Доступ к строкам из объектов Zend AMF - PullRequest
1 голос
/ 03 декабря 2011

Я использую Flex 3.6 и ZEND AMF версии 1.11

У меня есть массив, который отображается в моей трассировке, используя trace(ObjectUtil.toString(event.result)); Выводит следующее:

---This is a Test!---
//The Object Contains...
(Object)#0
    code = "112"
    path = "whateverthispathis"
Path is: 
-----End of Test-----

В REST мы использовали event.result.data.path для получения переменной пути.

Как получить переменную пути через Zend AMF без использования XML и из массива PHP, который я опубликовал ниже?

Это код PHP, который я использую для отправки его обратно во Flex:

$Data = Array();
$data = new params();
$data->path = $path;
$data->code = "10";
array_push($Data,$data);
return $data;

У меня нет проблем с выдачей результатов в списки, массивы, сетки данных и т. Д., Но иногда мне просто нужно получить доступ к 2 строкам из иногда только 20 строк, и именно поэтому я спрашиваю.

1 Ответ

0 голосов
/ 04 декабря 2011

Хорошо, я наконец-то понял свой ответ

То, как мы используем Rest Services для доступа к выводу XML, например

<data>
<path>mypath</path>
</data>

Доступ к которому осуществляется с помощью event.result.data.path;если используется событие: ResultEvent

Теперь Zend AMF использует примеры, основанные на создании простого приложения Crud, сжатии и изменении кода на мой вкус, но возвращение объекта php остается прежним ...

Я должен использовать этот

var obj:Object = event.result;
trace("---This is a Test!---");
trace("Path is: "+String(obj[0].path));
trace("-----End of Test-----");
}

, и он выводит в консоли флэш-отладчика следующее:

--- Это тест! --- Путь: mypath ---- Конец теста -----

Теперь obj[0] - это, по сути, первая строка объекта. «Путь» - это строка в наборе объектов, используя этот пример кода в файле класса ZEND AMF PHP

$Data = array();
$data = new login();
$data->path = mypath;
$data->passed = 10;
array_push($Data,$data);
return $Data; 

Если бы я хотел получить доступ к значению passed, мне пришлось бы использовать trace("Path is: "+String(obj[0].passed));, который бы вывел как 10

Если бы я хотел получить доступ ко 2-му набору значений объектаи так далее ... увеличиваем obj[0] до obj[1] и увеличиваем для любых дополнительных строк. В моем случае любой obj[1] будет выводиться как null, поскольку у меня нет дополнительных строк в это время.

Конечно, в основном нам практически никогда не требуется доступ к нескольким строкам объектов, так какДобавляется только как ArrayCollections или Arrays и отображается в Datagrids и Lists и еще много чего.Как показано в демонстрации Simple Crud по ссылке ниже.

Также я использую Open Flex 3.6 SDK, поэтому в приложении Simple Crud мне пришлось изменить все s: (Spark Containers) на mx: и устранить fx: Заявления также являются примечанием для тех, кто пытается использовать PHP-приложение Simple Crud и не использует Flex 4 или Flex 4.5

Simple Crud, на который я ссылался, связан следующим образом http://www.adobe.com/devnet/flex/articles/crud_flex_php_zend.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...