# Zend_Service_Flickr

## Введение

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

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

### Простой поиск фотографий в 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()` принимает массив опций как второй опциональный параметр.

## Поиск фотографий и информации о пользователе Flickr

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

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

- `getIdByUsername()`: Возвращает ID пользователя, связанного с данным именем.

- `getIdByEmail()`: Возвращает ID пользователя, связанного с данным e-mail адресом.

### Поиск открытых фотографий пользователя по адресу e-mail

В этом примере мы, имея e-mail пользователя Flickr, ищем его открытые фотографии, используя метод `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 />';
    }

## Поиск фотографий из пула группы

`Zend_Service_Flickr` позволяет извлекать фотографии из пула группы (group's pool), используя ID группы. Используйте метод `groupPoolGetPhotos()`:

### Извлечение фотографий из пула группы через ID группы

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

        $flickr = new Zend_Service_Flickr('MY_API_KEY');

        $results = $flickr->groupPoolGetPhotos($groupId);

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

### Опциональный параметр

`groupPoolGetPhotos()` принимает массив опций как опциональный второй параметр.

## Извлечение данных по изображению в Flickr

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

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

Имея ID изображения, легко извлечь информацию об этом изображении:

    <?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";

## Классы результатов Zend_Service_Flickr

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

- `Zend_Service_Flickr_ResultSet`

- `Zend_Service_Flickr_Result`

- `Zend_Service_Flickr_Image`

### Zend_Service_Flickr_ResultSet

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

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

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

##### Свойства класса Zend_Service_Flickr_ResultSet

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

#### Zend_Service_Flickr_ResultSet::totalResults()

int `totalResults`

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

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

### Zend_Service_Flickr_Result

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

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

##### Свойства класса Zend_Service_Flickr_Result

Имя | Тип | Описание
--- | --- | ---
id | string | ID изображения
owner | string | NSID владельца фотографии
secret | string | Ключ, используемый при построении URL
server | string | Имя сервера, используемое при построении URL
title | string | Подпись к фотографии
ispublic | string | Является ли фотография общедоступной
isfriend | string | Фотография доступна потому, что вы являетесь другом владельца.
isfamily | string | Фотография доступна потому, что вы являетесь членом семьи владельца.
license | string | Лицензия, по которой доступна фотография
dateupload | string | Дата загрузки фотографии
datetaken | string | Дата получения фотографии
ownername | string | Ник пользователя
iconserver | 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 | Оригинал изображения

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

### Zend_Service_Flickr_Image

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

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

##### Свойства класса Zend_Service_Flickr_Image

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

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