上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。




前回の記事に引き続きZendFrameworkのZend_AMFを使ってFlex3とPHPの連携を試していきます。
今回は、ActionScriptでNetConnectionを使って接続する方法ではなく、
MXML上にRemoteObjectを記載して接続する方法を試してみます。

前回の記事はこちらを参照ください。
【ZendFramework】Flex3とPHPの連携(Zend_AMF編)


Flexから呼ばれるPHPサービスクラスの生成(サーバー側の処理)


この部分は、前回とまったく同じです・・・。

ApacheのDocumentRootは下記になっています。
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"

■設置場所:C:/Program Files/Apache Group/Apache2/htdocs
■ファイル名:index.php

<?php
require_once 'Zend/Amf/Server.php';
require_once 'HelloWorldService.class.php';

$server = new Zend_Amf_Server();
$server->setClass('HelloWorldService');
$response = $server->handle();
echo $response;
?>


実際に処理を行うサービスクラスを作成します。
■設置場所:C:/Program Files/Apache Group/Apache2/htdocs
■ファイル名:HelloWorldService.class.php

<?php
class HelloWorldService {
/**
* 文字列を返します。
*/
public function getHelloString () {
return 'Hello World Flex PHP!! ';
}
}
?>


PHPを呼び出すFlexの作成(画面表示)


ActionScriptでNetConnectionを使って接続する方法ではなく、MXML上にRemoteObjectで接続します。

■Main.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application width="200" height="200" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script source="Hello.as" />
<mx:RemoteObject id="myservice" source="HelloWorldService" destination="zend" endpoint="http://localhost/index.php" fault="faultHandler(event)">
<mx:method name="getHelloString" result="onResult(event)" fault="onFault(event)" />
</mx:RemoteObject>
<mx:VBox>
<mx:Label text="Hello World!!" id="text1" />
<mx:Button label="PHPへ送信" click="goRemoteObject()" />
</mx:VBox>
</mx:Application>


■Hello.as

import mx.controls.Alert;
import mx.rpc.events.ResultEvent;

public function goRemoteObject() :void{
myservice.getHelloString();
}
/**
* 結果の取得(成功時)
*/
public function onResult(event:ResultEvent):void {
text1.text = event.result.toString();
}
/**
* 結果の取得(失敗時)
*/
public function onFault(fault:Object):void {
Alert.show(String(fault));
}

public function faultHandler(fault:Object):void {
Alert.show(String(fault));
}

ActionScript側はMXMLのRemoteObjectで記載したメソッドを呼び出すのみになるので、すっきりしてます。
少しでも参考になれば応援お願いします。












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。