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