# Zend_Service_Yahoo

## Introduction

`Zend_Service_Yahoo` is a simple API for using many of the Yahoo! REST APIs. `Zend_Service_Yahoo` allows you to search Yahoo! Web search, Yahoo! News, Yahoo! Local, Yahoo! Images. In order to use the Yahoo! REST API, you must have a Yahoo! Application ID. To obtain an Application ID, please complete and submit the Application ID Request Form.

## Searching the Web with Yahoo!

`Zend_Service_Yahoo` enables you to search the Web with Yahoo! using the `webSearch()` method, which accepts a string query parameter and an optional second parameter as an array of search options. For full details and an option list, please visit the Yahoo! Web Search Documentation. The `webSearch()` method returns a `Zend_Service_Yahoo_WebResultSet` object.

### Searching the Web with Yahoo!

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

## Finding Images with Yahoo!

You can search for Images with Yahoo using `Zend_Service_Yahoo`'s `imageSearch()` method. This method accepts a string query parameter and an optional array of search options, as for the `webSearch()` method. For full details and an option list, please visit the Yahoo! Image Search Documentation.

### Finding Images with Yahoo!

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

## Finding videos with Yahoo!

You can search for videos with Yahoo using `Zend_Service_Yahoo`'s `videoSearch()` method. For full details and an option list, please visit the Yahoo! Video Search Documentation.

### Finding videos with Yahoo!

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

## Finding Local Businesses and Services with Yahoo!

You can search for local businesses and services with Yahoo! by using the `localSearch()` method. For full details, please see the Yahoo! Local Search Documentation.

### Finding Local Businesses and Services with Yahoo!

    $yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
    $results = $yahoo->localSearch('Apple Computers', array('zip' => '95014'));
    foreach ($results as $result) {
        echo $result->Title .'<br />';
    }

## Searching Yahoo! News

Searching Yahoo! News is simple; just use the `newsSearch()` method, as in the following example. For full details, please see the Yahoo! News Search Documentation.

### Searching Yahoo! News

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

## Searching Yahoo! Site Explorer Inbound Links

Searching Yahoo! Site Explorer Inbound Links is simple; just use the `inlinkDataSearch()` method, as in the following example. For full details, please see the Yahoo! Site Explorer Inbound Links Documentation.

### Searching 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 />';
    }

## Searching Yahoo! Site Explorer's PageData

Searching Yahoo! Site Explorer's PageData is simple; just use the `pageDataSearch()` method, as in the following example. For full details, please see the Yahoo! Site Explorer PageData Documentation.

### Searching Yahoo! Site Explorer's 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 Classes

The following classes are all returned by the various Yahoo! searches. Each search type returns a type-specific result set which can be easily iterated, with each result being contained in a type result object. All result set classes implement the `SeekableIterator` interface, allowing for easy iteration and seeking to a specific result.

- `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

Each of the search specific result sets is extended from this base class.

Each of the specific result sets returns a search specific Zend_Service_Yahoo_Result objects.

#### Zend_Service_Yahoo_ResultSet::totalResults()

int `totalResults`

Returns the number of results returned for the search.

#### Properties

##### Zend_Service_Yahoo_ResultSet

Name | Type | Description
--- | --- | ---
totalResultsAvailable | int | Total number of results found.
totalResultsReturned | int | Number of results in the current result set
firstResultPosition | int | Position of the first result in this set relative to the total number of results.

Back to Class List

### Zend_Service_Yahoo_WebResultSet

`Zend_Service_Yahoo_WebResultSet` represents a Yahoo! Web Search result set.

`Zend_Service_Yahoo_WebResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

### Zend_Service_Yahoo_ImageResultSet

`Zend_Service_Yahoo_ImageResultSet` represents a Yahoo! Image Search result set.

`Zend_Service_Yahoo_ImageResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

### Zend_Service_Yahoo_VideoResultSet

`Zend_Service_Yahoo_VideoResultSet` represents a Yahoo! Video Search result set.

`Zend_Service_Yahoo_VideoResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

### Zend_Service_Yahoo_LocalResultSet

`Zend_Service_Yahoo_LocalResultSet` represents a Yahoo! Local Search result set.

#### Zend_Service_Yahoo_LocalResultSet Properties

Name | Type | Description
--- | --- | ---
resultSetMapURL | string | The URL of a webpage containing a map graphic with all returned results plotted on it.

`Zend_Service_Yahoo_LocalResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

### Zend_Service_Yahoo_NewsResultSet

`Zend_Service_Yahoo_NewsResultSet` represents a Yahoo! News Search result set.

`Zend_Service_Yahoo_NewsResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

### Zend_Service_Yahoo_InlinkDataResultSet

`Zend_Service_Yahoo_InlinkDataResultSet` represents a Yahoo! Inbound Link Search result set.

`Zend_Service_Yahoo_InlinkDataResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

### Zend_Service_Yahoo_PageDataResultSet

`Zend_Service_Yahoo_PageDataResultSet` represents a Yahoo! PageData Search result set.

`Zend_Service_Yahoo_PageDataResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

### Zend_Service_Yahoo_Result

Each of the search specific results is extended from this base class.

#### Properties

##### Zend_Service_Yahoo_Result Properties

Name | Type | Description
--- | --- | ---
Title | string | Title of the Result item
Url | string | The URL of the result item
ClickUrl | string | The URL for linking to the result item

Back to Class List

### Zend_Service_Yahoo_WebResult

Each Web Search result is returned as a `Zend_Service_Yahoo_WebResult` object.

#### Properties

##### Zend_Service_Yahoo_WebResult Properties

Name | Type | Description
--- | --- | ---
Summary | string | Result summary
MimeType | string | Result MIME type
ModificationDate | string | The last modification date of the result as a UNIX timestamp.
CacheUrl | string | Yahoo! web cache URL for the result, if it exists.
CacheSize | int | The size of the Cache entry

Back to Class List

### Zend_Service_Yahoo_ImageResult

Each Image Search result is returned as a `Zend_Service_Yahoo_ImageResult` object.

#### Properties

##### Zend_Service_Yahoo_ImageResult Properties

Name | Type | Description
--- | --- | ---
Summary | string | Result summary
RefererUrl | string | The URL of the page which contains the image
FileSize | int | The size of the image file in bytes
FileFormat | string | The format of the image (bmp, gif, jpeg, png, etc.)
Height | int | The height of the image
Width | int | The width of the image
Thumbnail | Zend_Service_Yahoo_Image | Image thumbnail

Back to Class List

### Zend_Service_Yahoo_VideoResult

Each Video Search result is returned as a `Zend_Service_Yahoo_VideoResult` object.

#### Properties

##### Zend_Service_Yahoo_VideoResult Properties

Name | Type | Description
--- | --- | ---
Summary | string | Result summary
RefererUrl | string | The URL of the page which contains the video
FileSize | int | The size of the video file in bytes
FileFormat | string | The format of the video (avi, flash, mpeg, msmedia, quicktime, realmedia, etc.)
Height | int | The height of the video in pixels
Width | int | The width of the video in pixels
Duration | int | The length of the video in seconds
Channels | int | Number of audio channels in the video
Streaming | boolean | Whether the video is streaming or not
Thumbnail | Zend_Service_Yahoo_Image | Image thumbnail

Back to Class List

### Zend_Service_Yahoo_LocalResult

Each Local Search result is returned as a `Zend_Service_Yahoo_LocalResult` object.

#### Properties

##### Zend_Service_Yahoo_LocalResult Properties

Name | Type | Description
--- | --- | ---
Address | string | Street Address of the result
City | string | City in which the result resides in
State | string | State in which the result resides in
Phone | string | Phone number for the result
Rating | int | User submitted rating for the result
Distance | float | The distance to the result from your specified location
MapUrl | string | A URL of a map for the result
BusinessUrl | string | The URL for the business website, if known
BusinessClickUrl | string | The URL for linking to the business website, if known

Back to Class List

### Zend_Service_Yahoo_NewsResult

Each News Search result is returned as a `Zend_Service_Yahoo_NewsResult` object.

#### Properties

##### Zend_Service_Yahoo_NewsResult Properties

Name | Type | Description
--- | --- | ---
Summary | string | Result summary
NewsSource | string | The company who distributed the article
NewsSourceUrl | string | The URL for the company who distributed the article
Language | string | The language the article is in
PublishDate | string | The date the article was published as a UNIX timestamp
ModificationDate | string | The date the article was last modified as a UNIX timestamp
Thumbnail | Zend_Service_Yahoo_Image | Image Thumbnail for the article, if it exists

Back to Class List

### Zend_Service_Yahoo_InlinkDataResult

Each Inbound Link Search result is returned as a `Zend_Service_Yahoo_InlinkDatabResult` object.

Back to Class List

### Zend_Service_Yahoo_PageDataResult

Each Page Data Search result is returned as a `Zend_Service_Yahoo_PageDatabResult` object.

Back to Class List

### Zend_Service_Yahoo_Image

All images returned either by the Yahoo! Image Search or the Yahoo! News Search are represented by `Zend_Service_Yahoo_Image` objects

#### Properties

##### Zend_Service_Yahoo_Image Properties

Name | Type | Description
--- | --- | ---
Url | string | Image URL
Width | int | Image Width
Height | int | Image Height

Back to Class List