Главная Пишем XML-RPC сервер

Пишем XML-RPC сервер

Раздел: Оффлайн, 20 апреля 2008 2 комментария

В продолжение этого поста расскажу как написать собственный XML-RPC сервер, который может выполнять определенный набор функций. Для создания сервера будем использовать все ту же библиотеку The Incutio XML-RPC Library for PHP

Поехали!

Итак, для начала надо определиться какие функции будет выполнять наш сервер. Для примера возьмем Начинающий водитель. Сделаем возможность получать информацию об автошколах. Для этого нам нужны 3 функции:

  1. schools.getRegions – возвращает список регионов
  2. schools.getSchools – возвращает список автошкол
  3. schools.getResponds – возвращает список отзывов

Таким образов, к примеру XML-RPC запрос на список регионов будет выглядеть так:




school.getRegions


Запрос автошкол (с параметрами):




schools.getSchools

43

В общем думаю понятно.

И так. Сервер. Все очень просто:


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.

Ответ сервера будет примерно таким








id1195
nameАвтошкола "Авто-Дело"
cnt0
rating0


...


id1191
nameАвтошкола "Авто-курс"
cnt1
rating4.66666667




Вот и все!

Смотрите также:

Теги:

2 комментария

  1. Alexey пишет:

    Пишу к этому серверу клиента:)
    Потом в своем блоге поделюсь как написать XML-RPC Client-a:)

  2. [...] Кто-то знает что такое XML-RPC (кто не знает, прошу сюда и сюда). И лишь немногие знают, что с Сапой можно работать [...]

Оставить комментарий


© 2008–2010 Копилефт и все такое...