سؤال

أنا أستخدم 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("Session", "Session");وهي فئة PHP وFlex في الوظيفة المذكورة أعلاه.

يوجد أيضًا فصل جلسة PHP الخاص بي داخل دليل التضمين، هل يجب أن أشير إلى ذلك في أي مكان أو أن ZendAMf سوف يعتني به.

كود فليكس.

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

شكرًا.

هل كانت مفيدة؟

المحلول

هناك بعض الأشياء المختلفة التي عليك القيام بها.عادةً ما يكون الأمر مثل إضافة ملف

[RemoteClass(الاسم المستعار = "الجلسة")]

إلى البيانات التعريفية لفئة AS الخاصة بك أو باستخدام إحدى وظائف Zend_Amf مثل getASClassName() في كائن PHP الخاص بك.تحقق من تسجيل الشاشة الخاص بـ Wade Arnold (كاتب Zend_Amf):رسم الخرائط الطبقة.أنا متأكد من أنه سيحصل على إجابتك.

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

نصائح أخرى

خطأ TypeOneError صحيح؛سوف تحتاج

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

في الجزء العلوي من فئات ActionScript الخاصة بك.

بعض الأشياء الأخرى التي حددتها يمكن أن تسبب هذه المشكلة:

  • يجب أن تكون متغيرات الفئة عامة ولها أسماء متطابقة
  • لا ينبغي أن تحتوي فئة ActionScript على مُنشئ محدد
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top