Zacznijmy od kodu w PHP:
- klasa obiektu VO
class UserVO { public $_explicitType = 'vo.UserVO' ; public $login ; public $pass ; }
- klasa serwisu amfphp
class User { public function getUserData() { $user = new UserVO() ; $user->login = 'myLogin' ; $user->pass = 'myPass' ; return $user ; } }Z tego co widać jest to bardzo prosty kod. Metoda getUserData zwraca na sztywno obiekt klasy UserVO. Uwagę należy zwrócić na właściwość $_explicitType. Tutaj wpisujemy alias jakiego będziemy używać po stronie flasha dla danej klasy w amfie.
Pora na kod AS:
- odpowiednik phpowej klasy UserVO
public class UserVO { public var login : String ; public var pass : String ; }
- niezbędny kod do pobrania obiektu UserVO
registerClassAlias( 'vo.UserVO' , UserVO ) ; var nc : NetConnection = new NetConnection ; function result( o : Object ) : void { var user : UserVO = o as UserVO ; trace( user ) ; } nc.call( 'User.getUserData' , new Responder( result , null ) ) ;Ważna rolę odgrywa tutaj metoda registerClassAlias która odpowiada za rejestrację aliasu użytego w klasie UserVO, a tym samym prawidłowe mapowanie przesłanych danych na obiekt UserVO we flashu.
Brak komentarzy:
Prześlij komentarz