PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

別のサービスコンポーネントのコール | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

別のサービスコンポーネントのコール

ConvertedStockQuote の例では、これらのプロキシをコールすることで それぞれが参照するコンポーネントを使用しています。

例1 サービスのコール

<?php
$quote  
$this->stock_quote->getQuote($ticker);
$rate   $this->exchange_rate->getRate($currency);
?>

StockQuote サービスのコールはローカルサービスへのコール、 一方 ExchangeRate サービスのコールはリモートサービスへのコールとなります。 それがローカルサービスであるかリモートサービスであるかにかかわらず、 コール方法は同じようになることに注意しましょう。

プロキシを使用することにより、コンポーネントのコール方法や振る舞いが ローカルであろうがリモートであろうが同じものになることが保証されます。 つまり、コンポーネントをコールする際に それがローカルにあるのかリモートにあるのかを気にしなくてもよいということです。 たとえば、ローカルサービスへのプロキシは、 引数をコピーしてそのコピーのみをサービスに渡します。 これにより、リモートコールの場合と同様に引数が値渡しとなることが保証されるわけです。 またリモートサービスへのプロキシは、受け取ったパラメータを SOAP リクエストのプロパティに変換し、戻ってきた内容を通常のパラメータリストに変換します。

上の例では、$ticker および $currency は明らかに PHP のスカラー型です。 コンポーネントには PHP のスカラー型である string、integer、float および boolean を渡すことができます。しかし、構造化されたデータは常に Service Data Objects (SDO) として渡します。 これ以降では、コンポーネントがどのようにして SDO を作成して ローカルコールやウェブサービスコールに渡すのか、 あるいはどのようにしてコンポーネントが返す SDO を作成するのかについて説明します。 PHP SDO プロジェクトのドキュメントに、SDO API の動作原理についての説明があります (SDO のページ を参照ください)。


忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「別のサービスコンポーネントのコール」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | 別のサービスコンポーネントのコール」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: