// Include the Zend Loader
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
$loader->suppressNotFoundWarnings(false);
// Create an instance of Amf Server
$server = new Zend_Amf_Server();
// Map PHP Class to Flash Class
$server->setClassMap('InventoryObject', 'InventoryObject');
$server->setClassMap('CManagedObjectReference', 'CManagedObjectReference');
/* GET DATA FROM FLEX CLIENT */
[color=red]$amf = file_get_contents('php://input');[/color]
// Remove first byte (new line)
$amf = substr($amf, 1);
// Create a Parser
$stream = new Zend_Amf_Parse_InputStream($amf);
// Deseriaize string into AMF3
$d = new Zend_Amf_Parse_Amf3_Deserializer($stream);
// Read as native PHP object
$data = $d->readObject();
// Serialize the object into binary format
$serializedObj = serialize($data->obj);
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
$loader->suppressNotFoundWarnings(false);
// Create an instance of Amf Server
$server = new Zend_Amf_Server();
// Map PHP Class to Flash Class
$server->setClassMap('InventoryObject', 'InventoryObject');
$server->setClassMap('CManagedObjectReference', 'CManagedObjectReference');
/* GET DATA FROM FLEX CLIENT */
[color=red]$amf = file_get_contents('php://input');[/color]
// Remove first byte (new line)
$amf = substr($amf, 1);
// Create a Parser
$stream = new Zend_Amf_Parse_InputStream($amf);
// Deseriaize string into AMF3
$d = new Zend_Amf_Parse_Amf3_Deserializer($stream);
// Read as native PHP object
$data = $d->readObject();
// Serialize the object into binary format
$serializedObj = serialize($data->obj);
本文介绍了使用Zend Framework实现AMF3协议进行Flex与PHP之间的数据交换过程。具体包括自动加载配置、创建AMF服务器实例及类映射,并从Flex客户端获取数据,解析AMF3格式的数据包,最后将PHP对象序列化。
5129

被折叠的 条评论
为什么被折叠?



