Как передать информацию в этом потоке:
Flash (AS3) → PHP, используя XML → Database (mysql)
Может ли кто-нибудь написать для этого простой код?
Спасибо.
http://www.kirupa.com/developer/actionscript/flashphpxml_integration.htm
Это расскажет вам больше всего о том, что вам нужно знать, чтобы начать.
Если вы еще не привязаны к использованию XML, вам может понадобиться использовать AMF. Существует ряд реализаций OSS AMF для PHP, от явно названного amfphp к реализации в Zend Framework. Надеюсь, кто-нибудь с опытом здесь придет и даст лучший ответ.
Я бы рекомендовал использовать amfPHP для получения информации из базы данных MySQL, переданной в Flash через php. Это проще, быстрее и проще в использовании, чем использование php для вывода результата базы данных в xml. В основном, что вы делаете с amfPHP, так это то, что вы можете вызывать php-функции непосредственно со вспышки, используя класс LocalConnection.
Я упрощу некоторый код, чтобы проиллюстрировать, как он работает:
//PHP code
//Here you main php class which all the sql commands will be called
class Main{
public function saveUser($username, $password){
//I'll send in the username and password to insert it into the users column
$this->db->query("INSERT INTO users VALUES ($username, $password)");
//I'm using the MDB2 library for sql queries,
//you write less code when doing queries.
}
}
//Actionscript 3 code
//To pass parameters to my php function I have to make an array.
var amfParameters:Array = [];
amfParameters['username'] = "richard";
amfParameters['password'] = "123123";
//Then create a localconnection which will connect to amfphp.
var localConnection:LocalConnection = new LocalConnection();
localConnection.connect(gatewayURL); //gatewayURL is the url to the gateway amfphp file
localConnection.call("testproject.Main.saveUser", loaderResponder, amfParameters);
//testproject.Main.saveUser is the path for our Main.php file and saveUser is the function
//loaderResponder is a Responder class which handles the callback from amfphp.
Таким образом, вы будете называть php-функцию во флэш-памяти, и вы также можете вернуть данные на флэш.
Это просто иллюстрирует, как работает amfphp. Это не было полным образцом кода. Просто дайте краткую идею.
Подумайте об этом, и если вы думаете, что это выглядит интересно, и загрузите amfphp и попробуйте! Вы не будете разочарованы.
Как насчет WebService SOAP/WSDL?
Итак, вы можете предоставить веб-службу на php и отправить информацию из Flex/AS3/Flash, вызвав некоторый метод webservice, а затем сохраните его в mysql db.
Flex имеет класс WebService, поэтому клиентская сторона для вызова метода сервера так же проста, как:
var webService:WebService = new WebService();
webService.wsdl = "http://yoursite.com/webservice.wsdl";
webService.loadWSDL();
webService.this_is_method_from_php_server(your_object_serialized_as_xml);
На стороне PHP я уверен, что есть десятки библиотек для предоставления SOAP/WSDL.