ATOM 1.0 лента на PHP 5 - Programming <!--%IFTH1%0%-->- Articles<!--%IFEN1%0%--> - Каталог статей - V . S . I . S ( Volgograd site on information safety )
Понедельник, 06.09.2010, 14:57
Приветствую Вас USER | RSS
Главная
Регистрация
Вход
Меню сайта

Категории каталога
breaking and research of programs [12]
Programming [37]
Cryptography and enciphering [2]
Breaking and protection [2]
Networks and reports [0]
Windows vs Unix [1]
About the Internet programs [0]
the Miscellaneous [0]
Lessons on programming [0]
freaking [1]
carding [1]
to beginners [10]

Мини-чат
200

Наш опрос
Я юзаю:
Всего ответов: 24

Главная » Статьи » Articles » Programming [ Добавить статью ]

ATOM 1.0 лента на PHP 5

Данный формат появился в июле 2003 года как альтернатива RSS каналам. Сначала проект назывался Echo, но затем возникли проблемы с товарным знаком и проект был переименован в Atom. Atom — это основанный на XML формат, предназначенный для агрегирования информации в первую очередь с веб-сайтов. Он создавался для использования в блогах, однако может применяться и для любых других новостных и периодических изданий в web. Существенной частью спецификации является протокол, работающий поверх HTTP, предназначенный для автоматизации ведения блога. Мы будем рассматривать версию 1.0 ставшую стандартом W3C в 2005 году.

Пример формата Atom 1.0

По своей сути Atom так же как и RSS напоминает обычный XML файл:

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru-RU"> <title>My News</title> <subtitle type="text">News from my family.</subtitle> <generator>Weblog Editor 2.0</generator> <link rel="alternate" type="text/html" href="http://mysite.com/" /> <link rel="self" type="application/atom+xml" href="http://mysite.com/atomfeed.php" /> <id>http://mysite.com/</id> <updated>2007-11-21T15:24:28-03:00</updated> <author> <name>Your name</name> <email>webmaster@mysite.com</email> </author> <entry> <title>My birthday</title> <link rel="alternate" type="text/html" href="http://mysite.com/blog/2007/mybirtday.php" /> <id>http://mysite.com/blog/2007/mybirtday.php</id> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml"> I celebrate my birthday today! </div> </content> <updated>2007-07-05T14:33:30-03:00</updated> <published>2007-07-05T14:33:30-03:00</published> </entry> <entry> <title>My new PC</title> <link rel="alternate" type="text/html" href="http://mysite.com/blog/2007/mynewpc.php" /> <id>http://mysite.com/blog/2007/mynewpc.php</id> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml"> I want to buy new PC. </div> </content> <updated>2007-04-10T14:32:34-03:00</updated> <published>2007-04-10T14:32:34-03:00</published> </entry> </feed>

Как вы видите ничего сложного нет, я не буду сейчас описывать значения полей, а перейду сразу к генератору ленты новостей. Если вы чего-то непоняли, то можете почитать подробнее в rfc4287

Реализация на PHP 5

Как и в статье про RSS, Я не стал городить классы и шаблоны, а сделал все достаточно прямолинейно:

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru-RU"> <title>mysite.com AtomFeed</title> <subtitle type="text">Мой супер блог</subtitle> <generator>Weblog Editor 2.0</generator> <link rel="alternate" type="text/html" href="http://mysite.com/" /> <link rel="self" type="application/atom+xml" href="http://mysite.com/atomfeed.php" /> <id>http://mysite.com/</id> <updated>$lastBuildDate</updated> <author> <name>Mihail</name> <email>editor@mysite.com</email> </author> END; // В этом файле надо разместить подключение к базе данных include_once("config.php"); // Модифицируйте запрос под вашу таблицу $query = "SELECT name, anon, url, UNIX_TIMESTAMP(date) as pubdate FROM news WHERE visible=1 ORDER by date desc LIMIT 0,10"; $res = mysql_query($query); while ($row=mysql_fetch_array($res)) { // Убираем из тайтла html теги и лишние пробелы $title = strip_tags(trim($row['name'])); // С аноносом можно не проводить такие // манипуляции, т.к. мы обьявим для него тип xhtml $anon = $row['annonce']; $url = $row['uri']; $pubDate = date(DATE_FORMAT_RFC3339, $row['pubdate']); echo <<<END <entry>> <title>$title</title> <link rel="alternate" type="text/html" href="http://mysite.com/news/$url" /> <id>http://mysite.com/news/$url</id> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">$anon</div> </content> <updated>$pubDate</updated> <published>$pubDate</published> </entry> END; } echo "</feed>"; ?>

Как видите ничего сложного, теперь можно назвать полученный файл atomfeed.php и и сделать ссылочку на сайте как у нас. Кстати проверить ленту на валидность можно с помощью замечательного сервиса FEED Validator.

Категория: Programming | Добавил: ^KeRnEl^ (06.08.2008)
Просмотров: 214 | Рейтинг: 0.0/0 |
Всего комментариев: 0

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
E-mail:
Пароль:

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


V . S . I . S ( Volgograd Site on Information Safety ) © 2010
Хостинг от uCoz