検索プログラマのメモ帳

壁にぶつかったら検索で調べるプログラマのちょっと遅れたメモ帳。たまに自分で挑戦する。

Skip to: Content | Sidebar | Footer

zend_amf:flashとphpの連携でDB接続

18 6月, 2009 (21:47) | ZendFramework | By: admin

flashから直接DBに接続することはできない。

そこで、zend_amfで簡単に接続できる。

1.phpのZend_Amf_Serverクラスを利用する。

2.phpでDB操作するクラスとそのメソッド作成

3.flashからDB操作するクラスのメソッドを実行する。

■php:アクション

   $server =& new Zend_Amf_Server();
        $server->setClass(‘クラス名’);
        $response =& $server->handle();

        $this->_helper->layout->setLayout(‘データ吐き出しようのカラページ’);
        $this->_helper->viewRenderer->setNoRender();
        echo $response;

■php:クラス
class クラス名{

    private $db;

    public function __construct() {
        $config = new Zend_Config_Ini(‘~.ini’, ‘~);
        $this->db = Zend_Db::factory($config->db);
        $this->db->getConnection();
    }

    public function getUseInfo($user_name) {
        return $this->db->fetchAll(“SELECT * FROM ~ );
    }
    }

■flash
var gateway:String = “http://~.com/sr/コントローラー/アクション/”;要はURL
var connection:NetConnection;
var responder:Responder;

function getLevel(){
    responder  = new Responder(onResultHandler, onStatusHandler);
    connection = new NetConnection();
    connection.connect(gateway);
    connection.call(“getLevel”,responder, “関数に渡す値があれば”);
}

function onResultHandler(result:Object):void {
    trace(result);

}

function onStatusHandler(fault:Object):void {
    trace(String(fault.description));
}

課題
1.phpのセッションがZend_Amf_Serverと共通化できない。
2.zend_authがZend_Amf_Serverと共通化できない。
3.cookieがとれない。

requestやresponseに値を追加できるメソッドがあるが、使い方がわからない。

追加
zendframework1.8からZend_Amf_Server内でzend_session、zend_auth、zend_aclなどが使えるようになった。

Write a comment