amfphp的两种方式
//as方式
var ro_login:RemoteObject;
ro_login = new RemoteObject();
ro_login.source = "User";
ro_login.destination = "用户相关操作";//可选参数
ro_login.endpoint = "http://localhost/amfphp/gateway.php";
ro_login.login.addEventListener("result", resultHandler);//RemoteObject是动态类,可以动态添加属性,这里login就是User.php里类User的login方法。
ro_login.login.addEventListener("fault", onFault);
 
//MXML方式
<mx:RemoteObject
        :1} 在amfphp/browser/里传递数组参数时,使用前面这种格式
 
8、只能接收return值,不能接收echo print_r等的输出值
 
 

AMFPHP 1.9新版问题修改

1、Flash环境下访问方法失败,而自带调试SWF正常,修改amfphp\gateway.php如下内容:

        if(PRODUCTION_SERVER)
        {
                //Disable profiling, remote tracing, and service browser
                $gateway->disableDebug();
                // Keep the Flash/Flex IDE player from connecting to the gateway. Used for security to stop remote connections. 
                //$gateway->disableStandalonePlayer();
        }

2、访问ByteArray对象出错,修改amfphp\core\amf\io\AMFSerializer.php如下内容:

        function writeAmf3ByteArray($d)
        {
                $this->writeByte(0x0C);
                //$this->writeAmf3String($d, true);
                $this->writeAmf3ByteArrayBody($d);
        }

另需要在写PHP代码时,将AMFPHP的AMF设置为AMF3,Flash设置无效的,代码为$GLOBALS['amfphp']['encoding'] = 'amf3';
或修改amfphp\core\shared\app\Globals.php内容中的$amfphp['encoding'] = "amf0";为$amfphp['encoding'] = "amf3";

相关文章:

  • 2022-01-06
  • 2021-10-11
  • 2022-01-02
  • 2022-03-08
  • 2022-02-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-18
  • 2021-04-19
  • 2022-12-23
  • 2021-08-11
  • 2022-02-19
  • 2022-12-23
相关资源
相似解决方案