В продолжение этого поста расскажу как написать собственный XML-RPC сервер, который может выполнять определенный набор функций. Для создания сервера будем использовать все ту же библиотеку The Incutio XML-RPC Library for PHP
Поехали!
Итак, для начала надо определиться какие функции будет выполнять наш сервер. Для примера возьмем Начинающий водитель. Сделаем возможность получать информацию об автошколах. Для этого нам нужны 3 функции:
- schools.getRegions – возвращает список регионов
- schools.getSchools – возвращает список автошкол
- schools.getResponds – возвращает список отзывов
Таким образов, к примеру XML-RPC запрос на список регионов будет выглядеть так:
Запрос автошкол (с параметрами):
В общем думаю понятно.
И так. Сервер. Все очень просто:
require('IXR_Library.inc.php');
$server = new IXR_Server(
array(
'schools.getRegions' => 'getRegions',
'schools.getSchools' => 'getSchools',
'schools.getResponds' => 'getResponds',
)
);
Сервер готов, осталось определить функции:
function getRegions($args) {
// Получаем данные из БД
return /* массив с данными*/;
}
function getSchools($args) {
// Получаем данные из БД
return /* массив с данными*/;
}
function getResponds($args) {
// Получаем данные из БД
return /* массив с данными*/;
}
Все параметры, которые пришли в XML-RPC запросе будут в массиве $args.
Ответ сервера будет примерно таким
...
Вот и все!
Смотрите также:
- Используем XML-RPC для работы с SAPE и пара слов про cookie
- Обработка ошибок в PHP и исключения
- XML-RPC и кросспостинг в ЖЖ
- PHP5 – хочу скорей
Пинаемпингуем Яндекс и Google
Пишу к этому серверу клиента:)
Потом в своем блоге поделюсь как написать XML-RPC Client-a:)
[...] Кто-то знает что такое XML-RPC (кто не знает, прошу сюда и сюда). И лишь немногие знают, что с Сапой можно работать [...]
Цели
Автомобиль
В процессе
Планштный ПК
В процессе
Разделы
Популярные записи
Свежие комментарии
Архив
Друзья