-1

タグ付きのxmlデータを書き込むために以前使用していたphpファイルがあります。今、私はそれを少しリモートオブジェクトベースにしようとしています。そのため、xml を記述する代わりに、大きな多次元配列で構成されるクラス オブジェクトを返そうとしています。問題は、高いレイテンシーを引き起こしていることです。遅延の問題を引き起こしているのが私のphpファイルであるかどうかはわかりません。

私のphpコード:

    class output{
    public $grid;
    public $week;
    public $name;
    var $_explicitType = "org.test.output";
    }

    class manager1{


    function init($params,$arrayOut)
    {   


        $action = $params[0];
        switch ($action)
        {
            case "reload":  return $this->Reload($arrayOut);break; 

            default:return $this->form($arrayOut); 
        }


    }

    private function Reload($arrayOut)
    {

        $this->getSlice();
        $arrayOut->grid = $this->gridValue();
        $arrayOut->week = 'no data';    
        return $arrayOut;       

    }

    private function form($arrayOut)
    {



        $arrayOut->grid = $this->gridValue();
        $arrayOut->week= $this->getAllWeek($this->ThisYear);
        return $arrayOut;


    }
}

PHP 関数を呼び出す AS-3 コード:

    private function init():void{

        var _amf:RemoteObject = new RemoteObject();
     var params:Array = new Array(); //parameters array
     params.push("default");
     var arrayOut:output = new output();//strongly typed class
     _amf.destination = "dummyDestination";
     _amf.endpoint = "http://insight2.ultralysis.com/Amfhp/Amfphp/"; //amfphp home directory
     _amf.source = "manager1"; //the php class which will be called
     _amf.addEventListener(ResultEvent.Result, handleResult);
     _amf.init(params,arrayOut);
}

    private function handleResult(event:ResultEvent):void
        {
    datagrid.dataProvider = event.result.grid;
        }

また、私のアプリケーションには output という名前のクラスもあります。

 package org.test{
                public class output
                  {
                     public var grid:Array;
                     public var week:Array;
                  }
 }

これを使用して、amfphp を使用して flex remoteobject に値を渡します。

4

1 に答える 1

1

実際、理解するのはかなり簡単です。FlashBuilderの一部であるネットワークモニターを使用できます。要求時間と応答時間が表示されるので、問題がPHP側にあるのかFlex側にあるのかを知ることができます。応答のサイズも確認できます。

多次元配列と混合されたリモートオブジェクトは思ったよりも大きくなる可能性があることに注意してください。ただし、ネットワークモニターはそれを理解するのに役立ちます。

于 2012-11-02T18:19:04.720 に答える