Flash ile Zend AMF (PHP) bağlantısı

Zend_Amf_Server Action Message Format protokolünü kullanarak, Adobe Flash Player’dan yapılan istekler için RPC tarzında server sağlar. Tüm Zend Framework server classları gibi, çok basit bir şekilde Zend_Amf server oluşturabilirsiniz. Zend_Amf_Server ile Zend Framework’e bağımlı olmaksızın Flash -Flex- ile PHP bağlantısı kurabilirsiniz. Biz bu örnekte Zend Framework kullanacağız. Dilerseniz Zend’in library klasörünü php.ini’de include_path’e ekleyip require ‘Zend/Amf/Server.php’; ile projelerinizde kullanabilirsiniz.

Flash isminde controller oluşturuyoruz;

<?php
class FlashController extends Zend_Controller_Action{

public function indexAction(){
$server = new Zend_Amf_Server();
$server->setClass("Ornek");
echo $server->handle();

$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout()->disableLayout();
}
}

Daha sonra Ornek isminde bir class oluşturuyoruz;

?php
    class Ornek {
        public function hesapla($x,$y){
            return $x + $y ;
	}
    }

Flash’da ise sunucuya bağlanıp Ornek classının hesapla metoduna 18 ve 2 parametrelerini gönderip toplamasını ve elde edilen sonucu trace ile outputa gönderiyoruz.

import flash.net.NetConnection;
import flash.net.Responder;

var netConn:NetConnection = new NetConnection();
var responder:Responder = new Responder(result,error);

function result(e:Object):void{
	trace(String(e));	
}
function error(e:Object):void{
	trace("Hata : "+e);	
}

netConn.connect("http://localhost/flash/index/");
netConn.call("Ornek.hesapla", responder, 18,2);
PHP ile Flash bağlantısı

PHP ile Flash bağlantısı