Haritalama PHP ve Flex Nesneler

2 Cevap php

Ben remoting için ZendAMF kullanıyorum.

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

Benim Soru i ActionScript sınıf oturum ve bir PHP Class oturumuna sahip, ama yine de eşleştirilir almaz değildir. Ben bazı şüphelerim var ... saçma olabilir ...

Haritalama yapar iken onun gerekli değil gibi bir değeri skoru taşımak PHP sınıfı dosya adı, sınıf adının aynı adı gibi olmalıdır.

Nasıl sizin esnek bir uygulama içinde olanlar eşleştirilir nesneler arayacak. Benim yaklaşım aşağıda belirtilen, ancak onun doğru ya da değil emin değildir.

$server->setClassMap("Session", "Session"); Which is a PHP and Flex class in the above function.

Ayrıca benim PHP oturum sınıfı dahil dizin içinde olduğunu, ben herhangi bir yerde veya ZendAMF icabına olacağını belirtmelidir.

Flex Kodu.

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

Teşekkürler.

2 Cevap

Yapmanız gereken birkaç farklı şeyler var. Genellikle ekleme gibi bir şey

[RemoteClass (ad = "Oturum")]

AS sınıf veya PHP nesne getASClassName (gibi Zend_Amf işlevlerinden birini) kullanarak meta. Sınıf haritalama: Wade Arnold'un (Zend_Amf yazarı) screencast yeniden göz atın. Ben o cevabım var eminim.

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

TypeOneError doğrudur; Eğer ihtiyacınız olacak

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

ActionScript sınıfların üstünde.

Ben tespit ettik bir kaç başka şeyler bu soruna neden olabilir:

  • Sınıf değişkenleri ortak ve aynı adlara sahip olmalıdır
  • ActionScript sınıfında tanımlanmış kurucuyu olmamalıdır