16.5. Zend_Service_Yahoo
前のページ | 第16章 Zend_Service | 次のページ

## 16.5. Zend_Service_Yahoo

### 16.5.1. 導入

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

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

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

例 16.11. Yahoo! を使用したウェブの検索

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

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

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

例 16.12. Yahoo! を使用した画像の検索

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

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

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

例 16.13. 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 />';
    }
    ?>

### 16.5.5. Yahoo! News の検索

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

例 16.14. Yahoo! News の検索

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

### 16.5.6. Zend_Service_Yahoo クラス群

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

- `Zend_Service_Yahoo_ResultSet`

- `Zend_Service_Yahoo_WebResultSet`

- `Zend_Service_Yahoo_ImageResultSet`

- `Zend_Service_Yahoo_LocalResultSet`

- `Zend_Service_Yahoo_NewsResultSet`

- `Zend_Service_Yahoo_Result`

- `Zend_Service_Yahoo_WebResult`

- `Zend_Service_Yahoo_ImageResult`

- `Zend_Service_Yahoo_LocalResult`

- `Zend_Service_Yahoo_NewsResult`

- `Zend_Service_Yahoo_Image`

#### 16.5.6.1. Zend_Service_Yahoo_ResultSet

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

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

##### 16.5.6.1.1. Zend_Service_Yahoo_ResultSet::totalResults()

`int totalResults();`

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

##### 16.5.6.1.2. プロパティ

表 16.13. Zend_Service_Yahoo_ResultSet

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

クラス一覧に戻る

#### 16.5.6.2. Zend_Service_Yahoo_WebResultSet

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

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

クラス一覧に戻る

#### 16.5.6.3. Zend_Service_Yahoo_ImageResultSet

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

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

クラス一覧に戻る

#### 16.5.6.4. Zend_Service_Yahoo_LocalResultSet

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

表 16.14. Zend_Service_Yahoo_LocalResultSet のプロパティ

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

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

クラス一覧に戻る

#### 16.5.6.5. Zend_Service_Yahoo_NewsResultSet

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

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

クラス一覧に戻る

#### 16.5.6.6. Zend_Service_Yahoo_Result

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

##### 16.5.6.6.1. プロパティ

表 16.15. Zend_Service_Yahoo_Result のプロパティ

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

クラス一覧に戻る

#### 16.5.6.7. Zend_Service_Yahoo_WebResult

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

##### 16.5.6.7.1. プロパティ

表 16.16. Zend_Service_Yahoo_WebResult のプロパティ

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

クラス一覧に戻る

#### 16.5.6.8. Zend_Service_Yahoo_ImageResult

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

##### 16.5.6.8.1. プロパティ

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

クラス一覧に戻る

#### 16.5.6.9. Zend_Service_Yahoo_LocalResult

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

##### 16.5.6.9.1. プロパティ

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

クラス一覧に戻る

#### 16.5.6.10. Zend_Service_Yahoo_NewsResult

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

##### 16.5.6.10.1. プロパティ

表 16.19. Zend_Service_Yahoo_NewsResult のプロパティ

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

クラス一覧に戻る

#### 16.5.6.11. Zend_Service_Yahoo_Image

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

##### 16.5.6.11.1. プロパティ

表 16.20. Zend_Service_Yahoo_Image のプロパティ

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

クラス一覧に戻る

前のページ | 上に戻る | 次のページ
16.4. Zend_Service_Flickr | ホーム | 第17章 Zend_View