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 приложения.
Zend_Service_Yahoo дает возможность поиска веб-страниц
через Yahoo! с помощью метода webSearch(). Этот метод
принимает строку запроса в качестве первого параметра и
массив опций в качестве необязательного второго параметра.
За полной информацией и списком поддерживаемых опций см.
документации
Yahoo! Web Search. Метод webSearch() возвращает
объект Zend_Service_Yahoo_WebResultSet.
Вы можете искать изображения через Yahoo!, используя метод imageSearch()
класса Zend_Service_Yahoo. Этот метод принимает строку запроса
в качестве первого параметра и
массив опций в качестве необязательного второго параметра.
За полной информацией и списком поддерживаемых опций см.
документацию
Yahoo! Image Search.
Вы можете искать торговые и сервисные службы по местонахождению через Yahoo!,
используя метод localSearch(). За полной информацией
см. документацию Yahoo! Local Search.
Пример 24.15. Поиск торговых и сервисных предприятий по местонахождению через 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 />';
}
?>
Поиск новостей через Yahoo! News довольно простой —
используйте метод newsSearch(), как показано в
следующем примере. За подробностями см. документацию Yahoo! News Search.
Все следующие классы возвращаются различными средствами поиска Yahoo!.
Каждое средство поиска возвращает набор результатов определенного типа,
с которым легко производить итерацию. Каждый отдельный результат поиска
заключен в объекте. Все классы наборов результатов реализуют интерфейс
SeekableIterator, что позволяет легко производить итерацию и
извлечение определенного результата.
Каждый из классов, реализующих набор результатов поиска, является
наследником базового класса Zend_Service_Yahoo_ResultSet.
Все наборы результатов поиска возвращают объекты наследников класса Zend_Service_Yahoo_Result.
int totalResults();
Возвращает общее количество результатов поиска.
Таблица 24.13. Свойства класса Zend_Service_Yahoo_ResultSet
| Имя | Тип | Описание |
|---|---|---|
| totalResultsAvailable | int | Общее количество результатов поиска |
| totalResultsReturned | int | Количество результатов в данном наборе |
| firstResultPosition | int | Позиция первого результата в данном наборе по отношению к общему количеству результатов поиска (смещение) |
Zend_Service_Yahoo_WebResultSet представляет
набор результатов поиска веб-страниц через Yahoo! Web Search.
![]() |
Замечание |
|---|---|
|
Zend_Service_Yahoo_ImageResultSet представляет
набор результатов поиска изображений через Yahoo! Image Search.
![]() |
Замечание |
|---|---|
|
Zend_Service_Yahoo_ImageResultSet представляет
набор результатов поиска торговых и сервисных предприятий
через Yahoo! Local Search.
Таблица 24.14. Свойства класса Zend_Service_Yahoo_LocalResultSet
| Имя | Тип | Описание |
|---|---|---|
| resultSetMapURL | string | URL страницы, содержащей карту, на которой отмечены все найденные предприятия. |
![]() |
Замечание |
|---|---|
|
Zend_Service_Yahoo_ImageResultSet представляет
набор результатов поиска новостей
через Yahoo! News Search.
![]() |
Замечание |
|---|---|
|
Каждый из отдельных результатов поиска является объектом класса-наследника от
базового класса Zend_Service_Yahoo_Result.
Каждый из результатов поиска веб-страниц является объектом
Zend_Service_Yahoo_WebResult.
Каждый из результатов поиска изображений является объектом
Zend_Service_Yahoo_ImageResult.
Таблица 24.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 | Уменьшенная копия изображения |
Каждый из результатов поиска торговых и сервисных предприятий
является объектом Zend_Service_Yahoo_LocalResult.
Таблица 24.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 для ссылки на веб-сайт организации, если есть |
Каждый отдельный результат News Search возвращается в виде объекта
Zend_Service_Yahoo_NewsResult.
Таблица 24.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 | Уменьшенная копия изображения к статье, если есть |