24.5. Zend_Service_Yahoo
Prev | Chapter 24. Zend_Service | Next

## 24.5. Zend_Service_Yahoo

### 24.5.1. 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.

### 24.5.2. 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.

Example 24.13. Searching the Web with 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 />';
    }
    ?>

### 24.5.3. 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.

Example 24.14. Finding Images with 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 />';
    }
    ?>

### 24.5.4. 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.

Example 24.15. Finding Local Businesses and Services with Yahoo!

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

### 24.5.5. 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.

Example 24.16. Searching 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 />';
    }
    ?>

### 24.5.6. 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_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`

#### 24.5.6.1. 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.

##### 24.5.6.1.1. Zend_Service_Yahoo_ResultSet::totalResults()

`int totalResults();`

Returns the number of results returned for the search.

##### 24.5.6.1.2. Properties

Table 24.13. 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

#### 24.5.6.2. Zend_Service_Yahoo_WebResultSet

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

| Note
`Zend_Service_Yahoo_WebResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

#### 24.5.6.3. Zend_Service_Yahoo_ImageResultSet

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

| Note
`Zend_Service_Yahoo_ImageResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

#### 24.5.6.4. Zend_Service_Yahoo_LocalResultSet

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

Table 24.14. 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.

| Note
`Zend_Service_Yahoo_LocalResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

#### 24.5.6.5. Zend_Service_Yahoo_NewsResultSet

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

| Note
`Zend_Service_Yahoo_NewsResultSet` extends Zend_Service_Yahoo_ResultSet

Back to Class List

#### 24.5.6.6. Zend_Service_Yahoo_Result

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

##### 24.5.6.6.1. Properties

Table 24.15. 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

#### 24.5.6.7. Zend_Service_Yahoo_WebResult

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

##### 24.5.6.7.1. Properties

Table 24.16. Zend_Service_Yahoo_WebResult Properties

Name | Type | Description
--- | --- | ---
Summary | string | Result summary
MimeType | string | Result mimetype
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

#### 24.5.6.8. Zend_Service_Yahoo_ImageResult

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

##### 24.5.6.8.1. Properties

Table 24.17. 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

#### 24.5.6.9. Zend_Service_Yahoo_LocalResult

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

##### 24.5.6.9.1. Properties

Table 24.18. 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

#### 24.5.6.10. Zend_Service_Yahoo_NewsResult

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

##### 24.5.6.10.1. Properties

Table 24.19. 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

#### 24.5.6.11. 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

##### 24.5.6.11.1. Properties

Table 24.20. Zend_Service_Yahoo_Image Properties

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

Back to Class List

Prev | Up | Next
24.4. Zend_Service_Flickr | Home | Chapter 25. Zend_Session