16.5. Zend_Service_Yahoo
Пред. | Глава 16. Zend_Service | След.

## 16.5. Zend_Service_Yahoo

### 16.5.1. Введение

`Zend_Service_Yahoo` является простым программным интерфейсом (API) для использования многих программных интерфейсов портала Yahoo! (Yahoo! REST API). `Zend_Service_Yahoo` позволяет искать через Yahoo! Web search, Yahoo! News, Yahoo! Local и Yahoo! Images. Для того, чтобы использовать Yahoo! REST API, вы должны иметь ID приложения Yahoo!. Чтобы получить ID приложения, заполните и отправьте форму заявки на получение ID приложения.

### 16.5.2. Поиск веб-страниц с помощью Yahoo!

`Zend_Service_Yahoo` дает возможность поиска веб-страниц через Yahoo! с помощью метода `webSearch()`. Этот метод принимает строку запроса в качестве первого параметра и массив опций в качестве необязательного второго параметра. За полной информацией и списком поддерживаемых опций см. документации 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!

Вы можете искать изображения через Yahoo!, используя метод `imageSearch()` класса `Zend_Service_Yahoo`. Этот метод принимает строку запроса в качестве первого параметра и массив опций в качестве необязательного второго параметра. За полной информацией и списком поддерживаемых опций см. документацию 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!

Вы можете искать торговые и сервисные службы по местонахождению через Yahoo!, используя метод `localSearch()`. За полной информацией см. документацию Yahoo! Local Search.

Пример 16.13. Поиск торговых и сервисных предприятий по местонахождению через 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 />';
    }
    ?>

### 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 Classes

Все следующие классы возвращаются различными средствами поиска 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_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_ImageResultSet` представляет набор результатов поиска торговых и сервисных предприятий через 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_ImageResultSet` представляет набор результатов поиска новостей через Yahoo! News Search.

| Замечание
`Zend_Service_Yahoo_NewsResultSet` является наследником класса Zend_Service_Yahoo_ResultSet.

Назад к списку классов

#### 16.5.6.6. Zend_Service_Yahoo_Result

Каждый из отдельных результатов поиска является объектом класса-наследника от базового класса `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

Каждый из результатов поиска веб-страниц является объектом `Zend_Service_Yahoo_WebResult`.

##### 16.5.6.7.1. Свойства класса

Таблица 16.16. Свойства класса Zend_Service_Yahoo_WebResult

Имя | Тип | Описание
--- | --- | ---
Summary | string | Краткий текст
MimeType | string | Тип MIME результата
ModificationDate | string | Дата последнего изменения результата в формате UNIX
CacheUrl | string | Кэш веб-страницы, если есть
CacheSize | int | Размер кэша

Назад к списку классов

#### 16.5.6.8. Zend_Service_Yahoo_ImageResult

Каждый из результатов поиска изображений является объектом `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

Каждый из результатов поиска торговых и сервисных предприятий является объектом `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