我正在使用ZendAMF进行远程处理。
<?php
error_reporting(E_ALL | E_STRICT); //error reporting, not needed
require_once "Zend/Amf/Server.php"; //the zendAMF server
require_once "process.php"; //our test class
$server = new Zend_Amf_Server(); //declare the server
$server->setClass("process"); //load our test-class to the server
$server->setClassMap("Session", "Session");
echo($server->handle()); // needed to start the server
?>
我的问题是我有一个ActionScript类Session和一个PHP类会话,但它仍然没有被映射。我有些疑惑......可能很傻......
PHP类的文件名是否应与类名相同,因为它不是必需的,但在映射时它带有值分数。
如何在Flex应用程序中调用这些映射对象。我的方法如下所示,但不确定其是否正确。
$ server-&gt; setClassMap(“Session”,“Session”); 这是上述函数中的PHP和Flex类。
我的PHP会话类也在include目录中,如果我在任何地方指示或者ZendAMf会处理它。
Flex Code。
var userSession:Session = new Session();
sessionHold.text = userSession.userid;
感谢。
答案 0 :(得分:4)
您需要做一些不同的事情。通常它就像添加
[RemoteClass(别名= “会话”)]
到您的AS类的元数据或使用Zend_Amf的函数之一,如PHP对象中的getASClassName()。查看Wade Arnold(Zend_Amf的作者)截屏视频:类映射。我相信他会得到你的回答。
答案 1 :(得分:0)
TypeOneError是正确的;你需要
[RemoteClass(alias="Session")]
[Bindable]
位于ActionScript类的顶部。
我确定的其他一些事情可能导致此问题: