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);
