Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #67, ИЮНЬ 2006 г.

получаем удовольствие от web-сервисов

ALEXEY SHOCKOV

Спецвыпуск: Хакер, номер #067, стр. 067-048-3


$docs = $this->answerDOMTree->getElementsByTagName('doc');

for ($i = 0; $i < $docs->length; $i++) {

$this->append(new YandexSearchDoc($docs->item($i)));

}

}

Теперь, чтобы получить третий документ из результатов поиска, нужно просто обратиться к переменной ответа (например $response) как к обычному массиву, то есть $response[2].

[YandexSearchDoc] В нашем случае этот класс выполняет функции обычного массива, но будет правильнее оформить его именно в класс, на случай если захочешь реализовать дополнительную функциональность.

Так же, как и в предыдущем примере, мы наследуем его от ArrayObject, чтобы упростить использование класса. Ключи нашего массива — имена узлов, которые содержит документ. Значения элементов — содержание этих узлов.

[работает] Итак, подошло время опробовать полученный код на практике. Однако перед началом работы с web-сервисом Яndex.XML нужно зарегистрировать IP-адрес, с которого мы будем посылать запросы, на странице сервиса (Яndex ограничивает количество бесплатных запросов одной тысячей в день).

Предположим, что регистрация прошла успешно и мы можем пользоваться web-сервисом. Запустив простенький пример (он лежит на диске), получим вот такую страницу:

Если кто-то заметил, мы не реализовали переход по страничкам результатов запроса к поисковой системе — оставляю это на домашнее задание.

[напоследок] В интернете появляется все больше публичных web-сервисов с самыми разными и самыми широкими возможностями. Дело не в простой моде и не в причуде какой-либо компании, а во всеобщей тенденции. Все больше компаний разрабатывают программы, ориентированные на использование сервисов (Service-Oriented Architecture — SOA). Такие гиганты, как Microsoft и Sun, присоединяются. Не побоюсь сказать, что именно в этом будущее разработки любых программ, независимо от области их применения

Что это такое?

ПО СУТИ, WEB-СЕРВИС — ЭТО ОБМЕН ДОКУМЕНТАМИ ОПРЕДЕЛЕННОГО ФОРМАТА НА БАЗЕ СУЩЕСТВУЮЩЕГО ПРОТОКОЛА HTTP.

Удобство php5

ARRAYOBJECT — ЭТО СПЕЦИАЛЬНЫЙ КЛАСС, КОТОРЫЙ ПОЗВОЛЯЕТ РАБОТАТЬ СО СВОИМИ ПОЛЯМИ КАК С ЭЛЕМЕНТАМИ ОБЫЧНОГО МАССИВА.

Ссылки по теме

ТИП: WWW

http://xml.yandex.ru — СТРАНИЧКА WEB-СЕРВИСА ЯNDEX.XML.

http://en.wikipedia.org/wiki/Web_services — СЖАТОЕ ОПИСАНИЕ СТРУКТУРЫ РАБОТЫ WEB-СЕРВИСОВ, МНОЖЕСТВО ПОЛЕЗНЫХ ССЫЛОК ПО ТЕМЕ. ДЛЯ ТЕХ, КТО ЗНАЕТ АНГЛИЙСКИЙ.

http://sh.sweetykitten.ru/yandex.xml — РЕАЛЬНО РАБОТАЮЩИЙ ПРИМЕР СКРИПТА, ОПИСАННОГО В СТАТЬЕ.

Назад на стр. 067-048-2  Содержание