16.4. Zend_Service_Flickr
Пред. | Глава 16. Zend_Service | След.

## 16.4. Zend_Service_Flickr

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

`Zend_Service_Flickr` является простым API для использования веб-вервиса Flickr. Чтобы использовать веб-вервисы Flickr, вы должны иметь ключ к API. Для того, чтобы получить ключ и больше информации о сервисе Flickr, обратитесь к документации по API веб-вервиса Flickr.

В следующем примере мы используем метод `tagSearch()` для поиска фотографий со словом "php" в тегах.

Пример 16.8. Простой поиск фотографий в Flickr

    <?php
    require_once 'Zend/Service/Flickr.php';

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $results = $flickr->tagSearch("php");

    foreach ($results as $result) {
        echo $result->title . '<br />';
    }
    ?>

| Замечание
`tagSearch()` принимает массив опций как второй необязательный параметр.

### 16.4.2. Поиск пользователя Flickr

`Zend_Service_Flickr` предоставляет три различных способа получения информации о пользователе Flickr:

- `userSearch()`: Принимает строку запроса, состоящую из разделенных пробелами тегов, массив опций поиска как необязательный второй параметр и возвращает объект `Zend_Service_Flickr_ResultSet`.
- `getIdByUsername()`: Возвращает ID пользователя, связанного с данным именем.
- `getIdByEmail()`: Возвращает ID пользователя, связанного с данным адресом e-mail.

Пример 16.9. Поиск пользователя по адресу e-mail

В этом примере мы получаем информацию о пользователе через его e-mail, используя метод `userSearch()`:

    <?php
    require_once 'Zend/Service/Flickr.php';

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $results = $flickr->userSearch($userEmail);

    foreach ($results as $result) {
        echo $result->title . '<br />';
    }
    ?>

### 16.4.3. Получение данных по изображению в Flickr

`Zend_Service_Flickr` делает быстрым и легким получение данных по изображению через его ID. Просто используйте метод `getImageDetails()`, как показано в следующем примере:

Пример 16.10. Получение данных по изображению в Flickr

    <?php
    require_once 'Zend/Service/Flickr.php';

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $image = $flickr->getImageDetails($imageId);

    echo "Image ID $imageId is $image->width x $image->height pixels.<br />\n";
    echo "<a href=\"$image->clickUri\">Click for Image</a>\n";
    ?>

### 16.4.4. Zend_Service_Flickr Classes

Следующие классы возвращаются методами `tagSearch()` и `userSearch()`:

- `Zend_Service_Flickr_ResultSet`

- `Zend_Service_Flickr_Result`

- `Zend_Service_Flickr_Image`

#### 16.4.4.1. Zend_Service_Flickr_ResultSet

Представляет набор результатов поиска, возвращенных Flickr

| Замечание
Реализует интерфейс `SeekableIterator` для легкой итерации (например, с использованием `foreach`) и прямого доступа с помощью метода `seek()`.

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

Таблица 16.10. Свойства класса Zend_Service_Flickr_ResultSet

Имя | Тип | Описание
--- | --- | ---
totalResultsAvailable | int | Общее количество доступных результатов
totalResultsReturned | int | Общее количество возвращенных результатов
firstResultPosition | int | Смещение для данного набора в общем наборе результатов

##### 16.4.4.1.2. Zend_Service_Flickr_ResultSet::totalResults()

`int totalResults();`

Возвращает общее количество результатов в наборе.

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

#### 16.4.4.2. Zend_Service_Flickr_Result

Отдельный результат запроса к Flickr.

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

Таблица 16.11. Свойства класса Zend_Service_Flickr_Result

Имя | Тип | Описание
--- | --- | ---
id | int | ID изображения
owner | int | NSID владельца фотографии
secret | string | Ключ, используемый при построении URL
server | string | Имя сервера, используемое при построении URL
title | string | Подпись к фотографии
ispublic | boolean | Является ли фотография общедоступной
isfriend | boolean | Фотография доступна потому, что вы являетесь другом владельца.
isfamily | boolean | Фотография доступна потому, что вы являетесь членом семьи владельца.
license | string | Лицензия, по которой доступна фотография
date_upload | string | Дата загрузки фотографии
date_taken | string | Дата получения фотографии
owner_name | string | Ник пользователя
icon_server | string | Сервер, используемый в URL иконок
Square | Zend_Service_Flickr_Image | Уменьшенная копия изображения 75x75
Thumbnail | Zend_Service_Flickr_Image | Уменьшенная копия изображения 100x100
Small | Zend_Service_Flickr_Image | Уменьшенная копия изображения 240x240
Medium | Zend_Service_Flickr_Image | Уменьшенная копия изображения 500x500
Large | Zend_Service_Flickr_Image | Уменьшенная копия изображения 640x640
Original | Zend_Service_Flickr_Image | Оригинал изображения

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

#### 16.4.4.3. Zend_Service_Flickr_Image

Представляет изображение, возвращенное в результате поиска.

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

Таблица 16.12. Свойства класса Zend_Service_Flickr_Image

Имя | Тип | Описание
--- | --- | ---
uri | string | URI для оригинального изображения
clickUri | string | Ссылка для изображения (т.е. страница Flickr)
width | int | Ширина изображения
height | int | Высота изображения

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

Пред. | Уровень выше | След.
16.3. Zend_Service_Amazon | Начало | 16.5. Zend_Service_Yahoo