Zend_Service_Yahoo
は、さまざまな Yahoo! REST API
群を使用するための単純な API です。
Zend_Service_Yahoo
を使用すると、
Yahoo! Web search、Yahoo! News、Yahoo! Local、Yahoo! Images
を検索できるようになります。 Yahoo! REST API を使用するには、
Yahoo! Application ID が必要です。Application ID を取得するには、
Application ID リクエストフォーム
を使用してください。
Zend_Service_Yahoo
の webSearch()
メソッドを使用すると、Yahoo! でウェブを検索できます。
最初の引数に検索パラメータ、
オプションで二番目の引数に検索オプションの配列を指定します。
指定できるオプションの詳細については
Yahoo! Web Search
ドキュメント を参照ください。webSearch()
メソッドは
Zend_Service_Yahoo_WebResultSet
オブジェクトを返します。
Zend_Service_Yahoo
の imageSearch()
メソッドを使用すると、画像の検索ができます。
webSearch()
メソッド
と同様、最初の引数に検索パラメータ、
オプションで二番目の引数に検索オプションの配列を指定します。
指定できるオプションの詳細については
Yahoo! Image Search
ドキュメント を参照ください。
localSearch()
メソッドを使用すると、
Yahoo! で local businesses and services を検索できます。
詳細は
Yahoo! Local Search
ドキュメント を参照ください。
例 29.34. Yahoo! を使用した Local Businesses and Services の検索
<?php require_once 'Zend/Service/Yahoo.php'; $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID"); $results = $yahoo->localSearch('Apple Computers', array('zip' => '95014')); foreach ($results as $result) { echo $result->Title .'<br />'; } ?>
Yahoo! News を検索するのは簡単です。単に newsSearch()
メソッドを下の例のように使用すればよいのです。詳細は
Yahoo! News Search
ドキュメント を参照ください。
Yahoo! 検索から返される結果は、以下のクラスのいずれかとなります。
検索の種類によってそれに対応した結果セットが返され、
そのセットを順に処理していくと、中には検索の種類に応じた結果オブジェクトが含まれます。
すべての結果セットクラスは SeekableIterator
インターフェイスを実装しています。
そのため、順次処理だけでなく特定の結果の処理も簡単にできます。
検索の種類に応じた結果セットは、この基底クラスを継承したものです。
各結果セットは、検索の種類に応じた Zend_Service_Yahoo_Result オブジェクトを返します。
Zend_Service_Yahoo_WebResultSet
は Yahoo! Web Search
の結果セットを表します。
注意 | |
---|---|
|
Zend_Service_Yahoo_ImageResultSet
は、Yahoo! Image Search
の結果セットを表します。
注意 | |
---|---|
|
Zend_Service_Yahoo_LocalResultSet
は、Yahoo! Local Search
の結果セットを表します。
表 29.16. Zend_Service_Yahoo_LocalResultSet のプロパティ
名前 | 型 | 説明 |
---|---|---|
resultSetMapURL | string | 返される結果が記された地図画像を含むウェブページの URL。 |
注意 | |
---|---|
|
Zend_Service_Yahoo_NewsResultSet
は、Yahoo! News Search
の結果セットを表します。
注意 | |
---|---|
|
検索の種類に応じた検索結果は、この基底クラスを継承したものです。
Web Search の結果は Zend_Service_Yahoo_WebResult
オブジェクトとして返されます。
Image Search の結果は Zend_Service_Yahoo_ImageResult
オブジェクトとして返されます。
表 29.19. Zend_Service_Yahoo_ImageResult のプロパティ
名前 | 型 | 説明 |
---|---|---|
Summary | string | 結果の概要 |
RefererUrl | string | 画像を含むページの URL |
FileSize | int | 画像ファイルのバイト数 |
FileFormat | string | 画像の形式 (bmp、gif、jpeg、png など) |
Height | int | 画像の高さ |
Width | int | 画像の幅 |
Thumbnail | Zend_Service_Yahoo_Image | 画像のサムネイル |
Local Search の結果は Zend_Service_Yahoo_LocalResult
オブジェクトとして返されます。
表 29.20. Zend_Service_Yahoo_LocalResult のプロパティ
名前 | 型 | 説明 |
---|---|---|
Address | string | 結果の番地 |
City | string | 結果が存在する市 |
State | string | 結果が存在する州 |
Phone | string | 結果の電話番号 |
Rating | int | 結果に対するユーザの評価 |
Distance | float | 指定した位置から結果の位置までの距離 |
MapUrl | string | 結果の地図の URL |
BusinessUrl | string | ビジネスウェブサイトの URL (もしわかれば) |
BusinessClickUrl | string | ビジネスウェブサイトへのリンク用の URL (もしわかれば) |
News Search の結果は Zend_Service_Yahoo_NewsResult
オブジェクトとして返されます。
表 29.21. Zend_Service_Yahoo_NewsResult のプロパティ
名前 | 型 | 説明 |
---|---|---|
Summary | string | 結果の概要 |
NewsSource | string | 記事を配信した会社 |
NewsSourceUrl | string | 記事を配信した会社の URL |
Language | string | 記事が記述されている言語 |
PublishDate | string | UNIX タイムスタンプで表した、記事の配信時刻 |
ModificationDate | string | UNIX タイムスタンプで表した、記事の最終更新時刻 |
Thumbnail | Zend_Service_Yahoo_Image | 記事の画像サムネイル (もしあれば) |
Yahoo! Image Search あるいは Yahoo! News Search が返すすべての画像は
Zend_Service_Yahoo_Image
オブジェクトで表されます。