Вопрос

Я использую 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 и сеанс класса PHP, но он все равно не отображается.У меня есть некоторые сомнения...может быть глупо...

Должно ли имя файла класса PHP совпадать с именем имени класса, в этом нет необходимости, но при сопоставлении оно имеет оценку значения.

Как вы будете называть эти сопоставленные объекты внутри вашего гибкого приложения?Мой подход указан ниже, но я не уверен, правильный он или нет.

$server->setClassMap("Сеанс", "Сеанс");Это класс PHP и Flex в приведенной выше функции.

Кроме того, мой класс сеанса PHP находится внутри каталога include, если я укажу это где угодно, или ZendAMf позаботится об этом.

Гибкий код.

var userSession:Session = new Session();
sessionHold.text = userSession.userid; 

Спасибо.

Это было полезно?

Решение

Есть несколько разных вещей, которые вам нужно сделать.Обычно это что-то вроде добавления

[RemoteClass(alias="Сеанс")]

к метаданным вашего класса AS или с помощью одной из функций Zend_Amf, например getASClassName(), в вашем объекте PHP.Посмотрите скринкаст Уэйда Арнольда (автора Zend_Amf):отображение классов.Я уверен, что он получит твой ответ.

http://www.wadearnold.com/tutorials/zend/classmap/

Другие советы

TypeOneError верен;тебе понадобится

[RemoteClass(alias="Session")]
[Bindable]

в верхней части классов ActionScript.

Несколько других вещей, которые я определил, могут вызвать эту проблему:

  • Переменные класса должны быть общедоступными и иметь одинаковые имена.
  • Класс ActionScript не должен иметь определенного конструктора.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top