snicksnk / maitavr-api
Api for maitavr.org
0.0.3
2014-02-25 22:02 UTC
Requires
- php: >=5.3.3
This package is not auto-updated.
Last update: 2024-12-17 07:41:29 UTC
README
Библиотека для работы с api maitavr.org
Установка через composer
Добавьте в composer.json
"require": { "snicksnk/maitavr-api": "0.1.*@dev" }
И выполните
php composer.phar update
Основные компоненты системы
- Базовый класс api MaitavrApi\Api
- Запрос списка пользователей MaitavrApi\Request\Users\UList
- Запрос количества пользоватлей MaitavrApi\Request\Users\Count
- Stream context transport MaitavrApi\Transport\StreamContext - средство доставки запросов по умолчанию
Параметры, которые позволяют изменить поля, приходящие от сервера
Если не используется не один из этих параметров в ответ приходят все поля
-
MaitavrApi\Request\Users\UList::__construct(array $rows) - передать список полей в виде массива в конструктор (ранее заданные поля будут заменены переданными в этот метод)
-
MaitavrApi\Request\Users\UList::setRows(array $rows=null) - задать список полей в виде массива
-
MaitavrApi\Request\Users\UList::addRow($rowName) - добавить одно новое поле в ответ
Фильтрация:
-
MaitavrApi\Request\Users\UList::addFilter($rowName, $value) - Добавить фильтр
Пример использования
<?php use MaitavrApi\Api; use MaitavrApi\Request\Users\Count; use MaitavrApi\Request\Users\UList; //Подключаем автолоадер, если не используется composer require (__DIR__.'/../src/Tools/CompleteAutoloader.php'); //Создаем инстанс API класса $api = new Api('testapi', 'test12345678'); //Создаем объект запроса и передаем в конструктор поля, которые мы хотим видить в ответе $request = new UList(array(UList::ROW_FIRSTNAME, UList::ROW_LASTNAME, UList::ROW_EMAIL)); //Добавляем фильтр по email адресу в запрос $request->addFilter(UList::FILTER_EMAIL, array('andrey_ivanov@ukr.net', 'galkina@i.ua')); // Делаем запрос на сервер и получаем ответ в виде массива $response = $api->request($request); var_dump($response); /* array(2) { [0] => array(3) { 'firstname' => string(18) "Александр" 'lastname' => string(12) "Галкин" 'email' => string(12) "galkina@i.ua" } [1] => array(3) { 'firstname' => string(12) "Михаил" 'lastname' => string(14) "Сидоров" 'email' => string(21) "andrey_ivanov@ukr.net" } } */