35.6. Zend_Service_Flickr

35.6.1. Введение

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

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

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

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

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

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

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

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

Пример 35.28. Поиск открытых фотографий пользователя по адресу 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 />';
}
            

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

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

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

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

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

Пример 35.30. Получение данных по изображению в 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";
            

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

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

35.6.5.1. Zend_Service_Flickr_ResultSet

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

[Замечание] Замечание

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

35.6.5.1.1. Свойства класса

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

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

35.6.5.1.2. Zend_Service_Flickr_ResultSet::totalResults()

int totalResults();

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

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

35.6.5.2. Zend_Service_Flickr_Result

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

35.6.5.2.1. Свойства класса

Таблица 35.13. Свойства класса 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 Оригинал изображения

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

35.6.5.3. Zend_Service_Flickr_Image

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

35.6.5.3.1. Свойства класса

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

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

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

    Поддержать сайт на родительском проекте КГБ