Flex-объект напечатан неправильно

Я изо всех сил пытаюсь вернуть экземпляр класса 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;
}

Любая помощь будет очень ценится!

Dany

-1

Решение

Нашел ответ:
Стандартное местоположение для объектов VO / Услуги / Vo /
В моем случае мои объекты vo, где в / dto /
Когда я помещал все свои объекты vo в / Services / Vo /, все работало как положено.

НО

Я попытался установить / dto / в конфигурации, используя:

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

И это не сработало.
Так:

  • Я рад, что решил вопрос
  • Это ошибка в Amfphp
    конфиг?
0

Другие решения

Vo конвертация осуществляется с помощью плагина Vo конвертера. Это описано здесь http://www.silexlabs.org/amfphp/documentation/plugins/plugins-distributed-with-amfphp/vo-converter/
Попробуйте что-то подобное в вашей конфигурации

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector