ATOM 1.0 стрічка на PHP 5

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


Приклад формату Atom 1.0


За своєю суттю Atom так само як і RSS нагадує звичайний XML файл:


  <?xml version=”1.0″ encoding=”windows-1251″?>


<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, Я не став городити класи і шаблони, а зробив все досить прямолінійно:


<?php


/ / Задаємо формат дати (московський час)

define(“DATE_FORMAT_RFC3339″,”Y-m-dTH:i:s-03:00”);

/ / Сообщяем браузеру що передаємо XML


header(“Content-type: text/xml; charset=windows-1251”);

/ / Дата останньої збірки фіда


$lastBuildDate=date(DATE_FORMAT_RFC3339);

echo <<<END


<?xml version=”1.0″ encoding=”windows-1251″?>


<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.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*