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