передача переменных между flex и php - PullRequest
1 голос
/ 16 февраля 2009

Я новичок в разработке Flex. Мой вопрос: Как передать переменные между Flex 3 и базой данных MySQL, используя php? Мне сказали, что лучший способ - это AMFPHP, но это похоже на убийство или, может быть, я не уверен ... какие-нибудь идеи?

Ответы [ 4 ]

3 голосов
/ 16 февраля 2009

Я бы использовал json поверх xml, поскольку json будет передавать меньше байтов, а json_encode ($ object) в php - это быстро и легко.

Я бы использовал json вместо amfphp, потому что json общего назначения. Например, я могу создать веб-сервис для flex или javascript, вернув json.

Вы можете взглянуть на эту статью для сравнения между json, amfphp и xml. Также, вот хороший учебник по flex, php и json.

2 голосов
/ 17 февраля 2009

AMFPHP на самом деле не разрабатывается активно. Лучшая альтернатива сейчас - использовать Zend_Amf http://wadearnold.com/blog/?page_id=155,, который поддерживается как Zend, так и Adobe.

Не пугайтесь необходимости компонентов Zend Framework. Фреймворк является модульным, и вы можете использовать свои собственные классы php для доступа к данным без необходимости изучения кривой обучения Zend Framework.

Самое замечательное в использовании AMF заключается в том, что, поскольку это двоичная передача данных, она очень быстрая.

Кроме того, работа с XML или даже JSON - это досадный дополнительный шаг, если вы просто хотите, чтобы ваше гибкое приложение получало данные результатов через вызов API. Если по какой-либо причине вам необходимо обрабатывать вывод данных в xml или json, это можно легко добавить в ваше приложение, расширяя или создавая новые контроллеры / службы, которые переводят данные из массивов и объектов в xml или json

1 голос
/ 18 февраля 2009

Если вы делаете простой запрос, я передаю ваши данные как простые данные POST. Вы можете сделать это с помощью компонента HTTPService во Flex. На стороне PHP я отвечал бы строкой XML и устанавливал бы для HTTPService resultFormat значение «e4x» (Ecmascript for XML) для простой объектной манипуляции с данными результата.

Вот ссылка на liveocs для HTTPService: http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_2.html

Для более сложных запросов / операций также существует возможность использования Flex RemoteObject с AMF в качестве протокола данных. На стороне PHP вы можете использовать компонент AMF Zend Framework для связи.

Вот ссылка на liveocs для RemoteObject: http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_4.html

И страница загрузки для Zend AMF: http://framework.zend.com/download/amf

1 голос
/ 16 февраля 2009

Есть несколько вариантов для вас. По сути, все сводится к тому, как вы хотите работать с данными на стороне PHP.

Два вопроса, которые я бы потратил на изучение, - это простой XML (мое первое предпочтение) и AMFPHP.

XML: Flex может очень легко работать с данными XML, даже автоматически сопоставляя их с объектами ActionScript (обычно или с чем-то вроде проекта xobj в GoogleCode , для типизированных экземпляров). Точно так же, есть много поддержки для работы с XML в PHP-коде.

AMFPHP: AMFPHP дает вам возможность передавать типизированные объекты ActionScript по проводам в ваш код PHP. В проект AMFPHP включены инструменты, упрощающие работу с MySQL на PHP.

...