# Zend_Service_Yahoo(日本語)

## 導入

`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 リクエストフォーム を使用してください。

## Yahoo! を使用したウェブの検索

`Zend_Service_Yahoo` の `webSearch()` メソッドを使用すると、Yahoo! でウェブを検索できます。 最初の引数に検索パラメータ、 オプションで二番目の引数に検索オプションの配列を指定します。 指定できるオプションの詳細については Yahoo! Web Search ドキュメント を参照ください。`webSearch()` メソッドは `Zend_Service_Yahoo_WebResultSet` オブジェクトを返します。

### Yahoo! を使用したウェブの検索

    $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
    $results = $yahoo->webSearch('PHP');
    foreach ($results as $result) {
        echo $result->Title .'<br />';
    }

## Yahoo! を使用した画像の検索

`Zend_Service_Yahoo` の `imageSearch()` メソッドを使用すると、画像の検索ができます。 `webSearch()` メソッド と同様、最初の引数に検索パラメータ、 オプションで二番目の引数に検索オプションの配列を指定します。 指定できるオプションの詳細については Yahoo! Image Search ドキュメント を参照ください。

### Yahoo! を使用した画像の検索

    $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
    $results = $yahoo->imageSearch('PHP');
    foreach ($results as $result) {
        echo $result->Title .'<br />';
    }

## Yahoo! を使用した動画の検索

`Zend_Service_Yahoo` の `videoSearch()` メソッドを使用すると、Yahoo で動画を検索できます。 詳細は Yahoo! Video Search ドキュメント を参照ください。

### Yahoo! を使用した動画の検索

    $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
    $results = $yahoo->videoSearch('PHP');
    foreach ($results as $result) {
        echo $result->Title .'<br />';
    }

## Yahoo! を使用した Local Businesses and Services の検索

`localSearch()` メソッドを使用すると、 Yahoo! で local businesses and services を検索できます。 詳細は Yahoo! Local Search ドキュメント を参照ください。

### Yahoo! を使用した Local Businesses and Services の検索

    $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 の検索

Yahoo! News を検索するのは簡単です。単に `newsSearch()` メソッドを下の例のように使用すればよいのです。詳細は Yahoo! News Search ドキュメント を参照ください。

### Yahoo! News の検索

    $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
    $results = $yahoo->newsSearch('PHP');
    foreach ($results as $result) {
        echo $result->Title .'<br />';
    }

## Yahoo! Site Explorer Inbound Links の検索

Yahoo! Site Explorer Inbound Links を検索するのは簡単です。 単に `inlinkDataSearch()` メソッドを下の例のように使用すればいいのです。詳細は Yahoo! Site Explorer Inbound Links ドキュメント を参照ください。

### Yahoo! Site Explorer Inbound Links の検索

    $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
    $results = $yahoo->inlinkDataSearch('http://framework.zend.com/');
    foreach ($results as $result) {
        echo $result->Title .'<br />';
    }

## Yahoo! Site Explorer の PageData の検索

Yahoo! Site Explorer Inbound の PageDate を検索するのは簡単です。 単に `pageDataSearch()` メソッドを下の例のように使用すればいいのです。詳細は Yahoo! Site Explorer PageData ドキュメント を参照ください。

### Yahoo! Site Explorer の PageData の検索

    $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
    $results = $yahoo->pageDataSearch('http://framework.zend.com/');
    foreach ($results as $result) {
        echo $result->Title .'<br />';
    }

## Zend_Service_Yahoo クラス群

Yahoo! 検索から返される結果は、以下のクラスのいずれかとなります。 検索の種類によってそれに対応した結果セットが返され、 そのセットを順に処理していくと、中には検索の種類に応じた結果オブジェクトが含まれます。 すべての結果セットクラスは `SeekableIterator` インターフェイスを実装しています。 そのため、順次処理だけでなく特定の結果の処理も簡単にできます。

- `Zend_Service_Yahoo_ResultSet`

- `Zend_Service_Yahoo_WebResultSet`

- `Zend_Service_Yahoo_ImageResultSet`

- `Zend_Service_Yahoo_VideoResultSet`

- `Zend_Service_Yahoo_LocalResultSet`

- `Zend_Service_Yahoo_NewsResultSet`

- `Zend_Service_Yahoo_InlinkDataResultSet`

- `Zend_Service_Yahoo_PageDataResultSet`

- `Zend_Service_Yahoo_Result`

- `Zend_Service_Yahoo_WebResult`

- `Zend_Service_Yahoo_ImageResult`

- `Zend_Service_Yahoo_VideoResult`

- `Zend_Service_Yahoo_LocalResult`

- `Zend_Service_Yahoo_NewsResult`

- `Zend_Service_Yahoo_InlinkDataResult`

- `Zend_Service_Yahoo_PageDataResult`

- `Zend_Service_Yahoo_Image`

### Zend_Service_Yahoo_ResultSet

検索の種類に応じた結果セットは、この基底クラスを継承したものです。

各結果セットは、検索の種類に応じた Zend_Service_Yahoo_Result オブジェクトを返します。

#### Zend_Service_Yahoo_ResultSet::totalResults()

int `totalResults`

検索結果として返された結果の総数を返します。

#### プロパティ

##### Zend_Service_Yahoo_ResultSet

名前 | 型 | 説明
--- | --- | ---
totalResultsAvailable | int | 見つかった結果の総数。
totalResultsReturned | int | 現在の結果セットに含まれる結果の総数。
firstResultPosition | int | このセットの最初の結果の、結果全体の中での位置。

クラス一覧に戻る

### Zend_Service_Yahoo_WebResultSet

`Zend_Service_Yahoo_WebResultSet` は Yahoo! Web Search の結果セットを表します。

`Zend_Service_Yahoo_WebResultSet` は Zend_Service_Yahoo_ResultSet を継承しています。

クラス一覧に戻る

### Zend_Service_Yahoo_ImageResultSet

`Zend_Service_Yahoo_ImageResultSet` は、Yahoo! Image Search の結果セットを表します。

`Zend_Service_Yahoo_ImageResultSet` は Zend_Service_Yahoo_ResultSet を継承しています。

クラス一覧に戻る

### Zend_Service_Yahoo_VideoResultSet

`Zend_Service_Yahoo_VideoResultSet` は、Yahoo! Video Search の結果セットを表します。

`Zend_Service_Yahoo_VideoResultSet` は Zend_Service_Yahoo_ResultSet を継承しています。

クラス一覧に戻る

### Zend_Service_Yahoo_LocalResultSet

`Zend_Service_Yahoo_LocalResultSet` は、Yahoo! Local Search の結果セットを表します。

#### Zend_Service_Yahoo_LocalResultSet のプロパティ

名前 | 型 | 説明
--- | --- | ---
resultSetMapURL | string | 返される結果が記された地図画像を含むウェブページの URL。

`Zend_Service_Yahoo_LocalResultSet` は Zend_Service_Yahoo_ResultSet を継承しています。

クラス一覧に戻る

### Zend_Service_Yahoo_NewsResultSet

`Zend_Service_Yahoo_NewsResultSet` は、Yahoo! News Search の結果セットを表します。

`Zend_Service_Yahoo_NewsResultSet` は Zend_Service_Yahoo_ResultSet を継承しています。

クラス一覧に戻る

### Zend_Service_Yahoo_InlinkDataResultSet

`Zend_Service_Yahoo_InlinkDataResultSet` は、 Yahoo! Inbound Link Search の結果セットを表します。

`Zend_Service_Yahoo_InlinkDataResultSet` は Zend_Service_Yahoo_ResultSet を継承しています。

クラス一覧に戻る

### Zend_Service_Yahoo_PageDataResultSet

`Zend_Service_Yahoo_PageDataResultSet` は、 Yahoo! PageData Search の結果セットを表します。

`Zend_Service_Yahoo_PageDataResultSet` は Zend_Service_Yahoo_ResultSet を継承しています。

クラス一覧に戻る

### Zend_Service_Yahoo_Result

検索の種類に応じた検索結果は、この基底クラスを継承したものです。

#### プロパティ

##### Zend_Service_Yahoo_Result のプロパティ

名前 | 型 | 説明
--- | --- | ---
Title | string | 結果項目のタイトル
Url | string | 結果項目の URL
ClickUrl | string | 結果項目へリンクする URL

クラス一覧に戻る

### Zend_Service_Yahoo_WebResult

Web Search の結果は `Zend_Service_Yahoo_WebResult` オブジェクトとして返されます。

#### プロパティ

##### Zend_Service_Yahoo_WebResult のプロパティ

名前 | 型 | 説明
--- | --- | ---
Summary | string | 結果の概要
MimeType | string | 結果の MIME 型
ModificationDate | string | UNIX タイムスタンプで表した、結果の最終更新時刻
CacheUrl | string | 結果に対応する Yahoo! ウェブキャッシュの URL (もし存在すれば)
CacheSize | int | キャッシュエントリの大きさ

クラス一覧に戻る

### Zend_Service_Yahoo_ImageResult

Image Search の結果は `Zend_Service_Yahoo_ImageResult` オブジェクトとして返されます。

#### プロパティ

##### 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 | 画像のサムネイル

クラス一覧に戻る

### Zend_Service_Yahoo_VideoResult

Video Search の結果は`Zend_Service_Yahoo_VideoResult` オブジェクトとして返されます。

#### プロパティ

##### Zend_Service_Yahoo_VideoResult のプロパティ

名前 | 型 | 説明
--- | --- | ---
Summary | string | 結果の概要
RefererUrl | string | 動画を含むページの URL
FileSize | int | 動画のサイズを表すバイト数
FileFormat | string | 動画のフォーマット (avi, flash, mpeg, msmedia, quicktime, realmedia, など)
Height | int | 動画の高さを表すピクセル数
Width | int | 動画の幅を表すピクセル数
Duration | int | 動画の長さを表す秒数
Channels | int | 動画の音声チャネル数
Streaming | boolean | ストリーミング形式かどうか
Thumbnail | Zend_Service_Yahoo_Image | 画像のサムネイル

クラス一覧に戻る

### Zend_Service_Yahoo_LocalResult

Local Search の結果は `Zend_Service_Yahoo_LocalResult` オブジェクトとして返されます。

#### プロパティ

##### 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 (もしわかれば)

クラス一覧に戻る

### Zend_Service_Yahoo_NewsResult

News Search の結果は `Zend_Service_Yahoo_NewsResult` オブジェクトとして返されます。

#### プロパティ

##### Zend_Service_Yahoo_NewsResult のプロパティ

名前 | 型 | 説明
--- | --- | ---
Summary | string | 結果の概要
NewsSource | string | 記事を配信した会社
NewsSourceUrl | string | 記事を配信した会社の URL
Language | string | 記事が記述されている言語
PublishDate | string | UNIX タイムスタンプで表した、記事の配信時刻
ModificationDate | string | UNIX タイムスタンプで表した、記事の最終更新時刻
Thumbnail | Zend_Service_Yahoo_Image | 記事の画像サムネイル (もしあれば)

クラス一覧に戻る

### Zend_Service_Yahoo_InlinkDataResult

Inbound Link Search の結果の各項目は `Zend_Service_Yahoo_InlinkDatabResult` オブジェクトで返されます。

クラス一覧に戻る

### Zend_Service_Yahoo_PageDataResult

Page Data Search の結果の各項目は `Zend_Service_Yahoo_PageDatabResult` オブジェクトで返されます。

クラス一覧に戻る

### Zend_Service_Yahoo_Image

Yahoo! Image Search あるいは Yahoo! News Search が返すすべての画像は `Zend_Service_Yahoo_Image` オブジェクトで表されます。

#### プロパティ

##### Zend_Service_Yahoo_Image のプロパティ

名前 | 型 | 説明
--- | --- | ---
Url | string | 画像の URL
Width | int | 画像の幅
Height | int | 画像の高さ

クラス一覧に戻る