https://ru.wikipedia.org/wiki/Action_Message_Format
https://github.com/silexlabs/amfphp-2.0
В двух словах если, то на стороне сервера пишутся сервисы, которые выполняются определенные функции, принимают/возвращают нативные объекты, в том числе типизированные.
На пример:

Код AS3:
public class ResultVO
{
static public function register():void
{
registerClassAlias("ResultVO", ResultVO);
}
public var userID:int;
public var score:int;
}

Код AS3:
_connection = new NetConnection();
_connection.addEventListener(NetStatusEvent.NET_STATUS, _connection_netStatusHandler);
_connection.connect(gateway); // http: //yourserver.ru/Amfphp/

Код AS3:
var responder:Responder = new Responder(resultHandler, faultHandler);
_serverConnection = ServerConnection.getInstance();
// method - "GameService/writeResult", _serverConnection.authArgs, _args - какие-то аргументы,
// которые передаём методу
_serverConnection.connection.call.apply(null, [ "GameService/writeResult", responder, resultVO ]);
//_serverConnection.connection.call.apply(null, [ _method, responder ].concat(_serverConnection.authArgs, _args));
_serverConnection.connection.addEventListener(NetStatusEvent.NET_STATUS, connection_netStatusHandler);

PHP код:
<?php
class ResultVO {
/**
* @var int
*/
public $userID;
/**
* @var int
*/
public $score;
public $_explicitType = "ResultVO";
}

PHP код:
<?php
class GameService {
public function writeResult($result) {
// запись результата
}