Я хочу создать класс, который обрабатывает взаимодействие клиент-сервер Flash-PHP. По сути, Flash отправляет (например, после нажатия кнопки в моем пользовательском интерфейсе) переменную в PHP, а PHP, в свою очередь, отправляет значение во Flash.
Класс может быть похож на следующее:
package
{
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.events.Event;
import flash.events.IOErrorEvent;
//
public class CSManager extends MovieClip
{
//
var scriptLoader:URLLoader;
//
public function CSManager()
{
scriptLoader = new URLLoader();
scriptLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);
scriptLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError);
}
//;
public function handleLoadSuccessful($evt:Event):void
{
trace("Message sent.");
}
//
public function handleLoadError($evt:IOErrorEvent):void
{
trace("Message failed.");
}
//
public function sendLoad(variable):void
{
var scriptRequest:URLRequest = new URLRequest("http://mydomain/myapp/my.php");
var scriptVars:URLVariables = new URLVariables();
scriptVars.var1 = variable;
scriptRequest.method = URLRequestMethod.POST;
scriptRequest.data = scriptVars;
scriptLoader.load(scriptRequest);
}
}
}
Итак, я представляю, что в теле метода, вызванного кнопкой, я создаю экземпляр этого класса и вызываю метод CSManager sendLoad.
Как видите, sendLoad отправляет данные на сервер, а два метода обрабатывают результат .
Когда данные получены, приложение должно проанализировать результат и обновить представление , но я хочу оставить этот класс отделенным от анализатора и от класса, который обновляет представление, и использовать его только получить данные с сервера.
Это означает, что я не хочу анализировать данные и обновлять представление изнутри тела метода handleLoadSuccessful, но я хочу найти другое решение.
Что может быть хорошим подходом для решения этой проблемы?
Редактировать: Я нашел лучший код , но, похоже, проблема здесь та же.