С появлением термина Web 2.0 стали популярны веб-сервисы, предоставляющие некоторые функции по обмену информацией между разными сайтами и серверами. Появилась возможность размещать данные сразу в нескольких источниках, считывать их и, возможно, опять пересылать.

В связи с этим, я думаю, у всех на слуху такие технологии, как XML-RPC, SOAP и, наверное, REST? Нет? Не слышали про REST (Representational State Transfer)? Чтобы в голове немного прояснилось, про саму технологию можно прочитать статью «REST как альтернатива SOAP» или посмотреть ролик о реализации взаимодействия на Ruby.

Приведу небольшой, но очень показательный пример взаимодействия с del.icio.us на PHP.

Объектом эксперимента станет горячо любимый del.icio.us, а целью определим получение наших закладок по какому-нибудь тагу для размещения на своем сайте. Сразу предупрежу, что для работы примера необходим openssl, потому что работа ведется по защищенному https. В денвере это делается раскомментированием одной строки в php.ini и копированием php_openssl.dll в папку ext.

Все мы знаем, что в PHP5 внедрено расширение SimpleXML, которое мы с легкостью можем использовать в примере для парсинга ответа от сервера.

$u = 'username';
$p = 'password';
$uri = "https://{$u}:{$p}@api.del.icio.us/v1/posts/all?tag=php";
$bookmarks = new SimpleXMLElement($uri, NULL, true);
foreach ($bookmarks->post as $bookmark)
{
echo '';
echo htmlentities($bookmark['description']);
echo "
\n";
}


Пояснять каждую строку не имеет смысла, потому что они давно знакомы любому программисту PHP.

Удачного использования!

Комментарии (7)


  1. anonymous
    30.01.2008 08:18


    1. DorBer Автор
      30.01.2008 08:18

      Да, то, что на Ruby с REST все хорошо, я знаю :)
      Ruby вообще забавная штучка :)


  1. anonymous
    30.01.2008 08:18