2015-04-01 62 views
-1

我挣扎着爬柔性类实例回到AMFPHP(V2.2)在Flex中Flex的对象不正确输入

简化代码:

[RemoteClass(alias="Project")] 
    public class Project 
    { 
     public function Project() 
     { 
     } 
    } 

代码在PHP中:

class Project { 
     var $_explicitType = "Project"; 

     public function foo() 
     { 
      return "bar"; 
     } 
    } 

在一个点上,我这个代码发送到服务器:

myRemoteObjectService.testMethod(myProjectInstance);

这是在PHP来处理这样的:

public function testMethod($projectInstance) 
    { 
     return $projectInstance->foo; 
    } 

这应返回 '栏' 我的Flex应用程序,而是,我得到

的faultcode:Channel.Call.Failed faultString: '错误' faultDetail : 'NetConnection.Call.Failed:HTTP:状态500'

是什么工作是:

public function testMethod() 
    { 
     $project = new Project(); 
     return $project->foo; 
    } 

任何帮助将非常感谢!

达尼

+0

当对象回来PHP: - $ projectInstance的所有属性都会被保留 - $ projectInstance - > _ explicitType回报 '项目' - $ classMethods = get_class_methods($ projectInstance);返回空阵列! – 2015-04-02 09:59:56

回答

0

找到了答案: 为VO对象的标准位置是/服务/ VO/ 就我而言,我的VO对象凡在/ DTO/ 当我把我所有的VO对象转换成/服务/ Vo /,一切按预期工作。

我尝试设置/ DTO /配置中使用:

$this->voFolders = array(AMFPHP_ROOTPATH . 'dto/');

并没有奏效。 所以:

  • 我很高兴已经解决了这个问题
  • 这是AMFPHP 配置中的错误?