2015-04-01 75 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 配置中的錯誤?