Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Flex对象类型不正确_Php_Apache Flex_Amfphp - Fatal编程技术网

Php Flex对象类型不正确

Php Flex对象类型不正确,php,apache-flex,amfphp,Php,Apache Flex,Amfphp,我正在努力将flex类实例恢复到Amfphp(v2.2) Flex中的简化代码: [RemoteClass(alias="Project")] public class Project { public function Project() { } } php代码: class Project { var $_explicitType = "Project"; public

我正在努力将flex类实例恢复到Amfphp(v2.2)

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;
    }
这应该会将“bar”返回到我的Flex应用程序中,但相反,我得到

faultCode:Channel.Call.Failed faultString:'error'faultDetail:'NetConnection.Call.Failed:HTTP:Status 500'

工作原理是:

    public function testMethod()
    {
        $project = new Project();
        return $project->foo;
    }
任何帮助都将不胜感激

丹妮找到了答案: vo对象的标准位置是/Services/vo/ 在我的例子中,我的vo对象位于/dto中/ 当我将所有vo对象放入/Services/vo/中时,一切都按预期工作

但是

我尝试使用以下方法在配置中设置/dto/:

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

但那没用。 因此:

  • 我很高兴解决了这个问题
  • 这是Amfphp中的错误吗 配置

Vo转换由Vo转换器插件处理。这里有描述 在您的配置中尝试类似的操作

$this->pluginsConfig["AmfphpCustomClassConverter"] = array(“customClassFolderPaths” => array(AMFPHP_ROOTPATH . “MyVoFolder”));

当对象返回php时:-保留$projectInstance的所有属性-$projectInstance->\u explicitType返回'Project'-$classMethods=get\u class\u方法($projectInstance);返回空数组!