快速业务通道

在PHP内创建一个Atom提要

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
Atom">
<title>Fishing Reports</title>
<subtitle>The latest reports from fishinhole.com</subtitle>
<link href="http://www.fishinhole.com/reports/syndication.php" rel="self"/>
<updated><?php echo date3339(); ?></updated>
<author>
<name>NameOfYourBoss</name>
<email>nameofyourboss@fishinhole.com</email>
</author>
<id>
tag:fishinhole.com,2008:http://www.fishinhole.com/reports/syndication.php
</id>

您可能会立即注意到 清单 3 中的代码看上去并不像 PHP。这是因为其中的大多数代码都不是 PHP 代码。而只是标准化了的输出,动态内容方面无需太多 PHP。

<feed> 元素指定此 XML 文档为 Atom 提要。用来定义这些元素的名称空间被作为 <feed> 元素的属性提供。也可以使用之前提到的 xml:lang 属性来指定这是一个用英文写的文档。

<title> 元素为整个提要指定了一个标题。同样地,<subtitle> 元素为整个提要指定一个副标题。

<link> 元素指定了这个 syndication.php 文档的 URL。本例中的地址是假想的地址,不能用在现实世界中。实际上,您可以包括一个能够生成此提要输出的链接。

<updated> 元素生成一个时间戳(符合 RFC 3339 标准)并告知此提要的用户它最后一次被更新的时间。在本例中,提要总是检索来自数据库的最新数据,提要总是最新的,因而我们总是可以使用最新的时间戳。并且您可能已经注意到了,在这个元素内有一小段 PHP 代码。这是一个定制的 PHP 函数,可以生成 RFC 3339 格式的时间戳。

<author> 元素定义整个提要的作者。您将使用您老板的姓名作为作者,因为这是他的主意。

最后,<id> 元素以 Internationalized Resource Identifier (IRI) 格式惟一标识该提要。

清单 4 所示的循环用来生成这个 Atom 提要内的每个条目。生成此提要的大多数工作都在这里完成。

清单 4. 循环

<?php
$i = 0;
while($row = mysql_fetch_array($result))
{
if ($i > 0) {
echo "</entry>";
}

$articleDate = $row[''posted''];
$articleDateRfc3339 = date3339(strtotime($articleDate));
echo "<entry>";
echo "<title>";
echo $row[''title''];
echo "</title>";
echo "<link type=''text/html''
href=''http://www.fishinhole.com/reports/report.php?
id=".$row[''id'']."''/>";
echo "<id>";
echo "tag:fishinhole.com,2008:http:
//www.fishinhole.com/reports/report.php?id=".$row[''id''];
echo "</id>";
echo "<updated>";
echo $articleDateRfc3339;
echo "</updated>";
echo "<author>";
echo "<name>";
echo $row[''author''];
echo "</name>";
echo "</author>";
echo "<summary>";
echo $row[''subtitle''];
echo "</summary>";

$i++;
}
?>

同样的,清单 4 也涵盖了相当多的内容。首先是 while 循环。通常,这部分代码的意思是 “只要该表内还有未被包含在输出中的行,就一直进行”。每个迭代内的当前行存储于名为 $row 的一个 PHP 变量内。

之后,再检查计数器($i)。如果计数器大于 0,就意味着这至少 是第二次迭代。在这种情况下,有必要关闭之前迭代的 &

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号