Question

J'utilise ZendAMF pour la communication à distance.

<?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
?>

Ma question est que j'ai une session de classe ActionScript et une session de classe PHP, mais cela ne donne toujours pas lieu à un mappage. J'ai des doutes ... peut-être stupide ...

Le nom de fichier de la classe PHP doit-il être identique à celui de la classe, car il n'est pas nécessaire mais lors du mappage, porte-t-il un score de valeur.

Comment allez-vous appeler ces objets mappés dans votre application flex? Mon approche est indiquée ci-dessous, mais je ne sais pas si c'est correct ou non.

$ server- > setClassMap ("Session", "Session"); Ce qui est une classe PHP et Flex dans la fonction ci-dessus.

De plus, ma classe de session PHP se trouve dans le répertoire include, dois-je indiquer que n'importe où ou le ZendAMf s'en occupera?

Code Flex.

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

Merci.

Était-ce utile?

La solution

Il y a différentes choses que vous devez faire. Habituellement, cela ressemble à l’ajout de la

[RemoteClass (alias = "session")]

aux métadonnées de votre classe AS ou en utilisant l’une des fonctions de Zend_Amf telle que getASClassName () dans votre objet PHP. Découvrez le screencast de Wade Arnold (auteur de Zend_Amf) concernant le mappage de classe. Je suis sûr qu'il aura votre réponse.

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

Autres conseils

TypeOneError est correct; vous allez avoir besoin

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

en haut de vos classes ActionScript.

Quelques problèmes que j'ai déterminés peuvent être à l'origine de ce problème:

  • Les variables de classe doivent être publiques et porter des noms identiques
  • La classe ActionScript ne doit pas avoir de constructeur défini
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top