| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
構造構造 – Services_Ebay の構造
Services_Ebay の構造についての概要Services_Ebay は多くの小さなクラスで構成されています。これにより、 使用するコードの量を少なくすることができます。 あなたのアプリケーションで実際に使用する機能のコードのみが読み込まれ、 パースされます。 ここでは、提供されているさまざまな型のオブジェクトについて、 どのような場合にそれを使用するのかを簡単に説明します。 Services_EbayServices_Ebay クラスは次の目的で使用します。
Services_Ebay_SessionServices_Ebay_Session クラスは、 通信する XML ストリームのシリアライズ/アンシリアライズを処理するために使用します。 さらに、必要となる HTTP ヘッダを作成し、ユーザ認証の処理も行います。 おそらく、あなたはセッションを常に間接的に使用することになるでしょう。 つまり、まず最初にセッションを Services_Ebay オブジェクトにわたし、Services_Ebay オブジェクトがそれを使用して API をコールするということです。 セッションクラスの使用
<?php
Services_Ebay_TransportServices_Ebay_Transport クラスの使用目的は、 eBay ウェブサービスへの接続を確立すること、 および Services_Ebay_Session が作成した生データの送受信を行うことです。 理屈上はさまざまなトランスポートクラスが存在してしかるべきです。 しかし、PHP のストリーム関数やいくつかの SSL ライブラリのバグのせいで、 実際に動作するトランスポートクラスは Services_Ebay_Transport_Curl のみとなっています。これは PHP の curl 拡張モジュールを使用します。 Services_Ebay_CallServices_Ebay_Call クラスは eBay ウェブサービスが提供する API コールに関する情報を含みます。 各 API コールはオブジェクトにカプセル化され、 そのオブジェクトには API コールに関する情報が含まれます。 例えば、使用する XML タグや期待する返り値などです。 このオブジェクトには二通りの使用法があります。
Call オブジェクトを直接操作するより、Services_Ebay をプロキシとして使用する方法を推奨します。 Services_Ebay はクラスのインスタンスを作成し、 パラメータを渡して Call オブジェクトの call メソッドを起動します。 Services_Ebay_ModelServices_Ebay_Model クラスは、eBay のサーバに保存されたリモートデータをローカルで保持するコンテナとして動作します。 例えば、Services_Ebay::getItem() をコールすると、 このメソッドは Services_Ebay_Model_Item のインスタンスを返します。ここには、商品についての情報のほかに Services_Ebay_Model_Item::addToDescription() のようなヘルパメソッドが含まれ、新しい API コールをカプセル化します。 現在 Services_Ebay が提供しているモデルクラスは accounts, disputes (single dispute and a list of disputes), user feedback (summary and a single feedback entry), items and list of items, MyeBay, orders, preferences, search results, shipments, eBay stores, transactions および users です。 Services_Ebay_CacheServices_Ebay_Cache クラスは、eBay ウェブサービスから取得した情報をローカルにキャッシュします。 あなたのスクリプトには一切手を入れる必要はありません。 任意のモデル型についてキャッシュのインスタンスを登録すると、 Services_Ebay は、時間のかかる API コールの前にキャッシュを検索するようになります。 キャッシュクラスは非常に高いレベルでの抽象化を行っており、 新しいキャッシュコンテナを作成することが可能です。そのため、 データベースでも共有メモリでも、お望みの場所にデータを保存することができます。 現在は、使用できるコンテナは一種類だけです。 これはデータをローカルのファイルシステムに保存します。 キャッシュがまだ有効かどうかを調べるには Services_Ebay_Cache_ExpiryCheck のインスタンスを使用します。これを使用すると、 オークションの終了時刻の少し前に期限切れとなるような "かしこい" キャッシュを作成することができます。 |
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「構造」をGoogle検索
|