Consuming an Atom Feed¶
Zend\Feed\Reader\Feed\Atom
is used in much the same way as Zend\Feed\Reader\Feed\Rss
. It provides the
same access to feed-level properties and iteration over entries in the feed. The main difference is in the
structure of the Atom protocol itself. Atom is a successor to RSS; it is a more generalized protocol and it is
designed to deal more easily with feeds that provide their full content inside the feed, splitting RSS’
description
tag into two elements, summary
and content
, for that purpose.
Basic Use of an Atom Feed¶
Read an Atom feed and print the title
and summary
of each entry:
1 2 3 4 5 6 7 | $feed = Zend\Feed\Reader\Reader::import('http://atom.example.com/feed/');
echo 'The feed contains ' . $feed->count() . ' entries.' . "\n\n";
foreach ($feed as $entry) {
echo 'Title: ' . $entry->getTitle() . "\n";
echo 'Description: ' . $entry->getDescription() . "\n";
echo 'URL: ' . $entry->getLink() . "\n\n";
}
|
In an Atom feed you can expect to find the following feed properties:
title
- The feed’s title, same as RSS’s channel titleid
- Every feed and entry in Atom has a unique identifierlink
- Feeds can have multiple links, which are distinguished by atype
attributeThe equivalent to RSS’s channel link would be
type="text/html"
. if the link is to an alternate version of the same content that’s in the feed, it would have arel="alternate"
attribute.subtitle
- The feed’s description, equivalent to RSS’ channel descriptionauthor
- The feed’s author, withname
andemail
sub-tags
Atom entries commonly have the following properties:
id
- The entry’s unique identifiertitle
- The entry’s title, same as RSS item titleslink
- A link to another format or an alternate view of this entryThe link property of an atom entry typically has an
href
attribute.summary
- A summary of this entry’s contentcontent
- The full content of the entry; can be skipped if the feed just contains summariesauthor
- withname
andemail
sub-tags like feeds havepublished
- the date the entry was published, in RFC 3339 formatupdated
- the date the entry was last updated, in RFC 3339 format
Where relevant, Zend\Feed
supports a number of common RSS extensions including Dublin Core and the Content,
Slash, Syndication, Syndication/Thread and several other extensions in common use on blogs.
For more information on Atom and plenty of resources, see http://www.atomenabled.org/.