as3 class map to php class
flash cs5 / amfphp1.9
description: 將as3的personVO class map 到setClassMappingsPath入面的Person class
amfphp1.9/services/
SendObject.php
amfphp1.9/services/vo
Person.php
htdocs/
flash2php.fla
htdocs/org/flashremoting/
PersonVO.as
gateway.php
- $gateway->setClassPath($servicesPath);
- //$servicesPath在global.php define 為 services/
- $gateway->setClassMappingsPath($voPath);
- //$voPath在global.php define 為 services/vo/
- $gateway->setCharsetHandler( "iconv", "utf-8", "gbk" );
flash2php.fla
- import org.flashremoting.PersonVO;
- registerClassAlias("Person", PersonVO);
- var nc:NetConnection = new NetConnection();
- nc.objectEncoding=ObjectEncoding.AMF3;
- nc.connect('http://localhost/amfphp1.9/gateway.php');
- var responder:Responder=new Responder(onResult,onError);
- nc.call('SendObject.sendVO', responder ,new PersonVO());
- function onResult(re:Object):void {
- var personData:PersonVO = PersonVO(re);
- trace(String(personData.name));
- }
- function onError(err:Object):void {
- trace("接收錯誤");
- }
PersonVO.as
- package org.flashremoting
- {
- public class PersonVO {
- public var name:String ="Sharon";
- public function printDetails():void{
- trace("name======="+this.name);}
- }
- }
Person.php
- <?php
- class Person
- {
- public $name="abc";
- }?>
SendObject.php
- <?php
- class SendObject
- {
- function sendVO($aa)
- {
- $aa->name = "modified";
- return $aa;
- }
- }
- ?>