phpで実装されたRSS生成クラスのインスタンス
この記事では、PHP で実装された RSS 生成クラスを主に紹介し、その原理、定義、使用テクニックを例とともに説明します。必要な方は非常に参考になります。
この記事の例では、PHPで実装されたRSS生成クラスについて説明しています。参考のためにみんなで共有してください。詳細は以下の通りです?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
クラスRSS { var $title; var $link; var $description; var $ language = "en-us"; var $pubDate; var $items; var $tags; 関数 RSS() { $this->items = array(); $this->tags = array(); } 関数 addItem($item) { $this->items[] = $item; } 関数 setPubDate($when) { if(strtotime($when) == false) $this->pubDate = date("D, d M Y H:i:s ", "GMT"; ) その他$this->pubDate = date("D, d M Y H:i:s ", strtotime($when)) . } 関数getPubDate() { if(空($this->pubDate)) return date("D, d M Y H:i:s ") "GMT"; その他 $this->pubDate を返す; } 関数 addTag($tag, $value) { $this->tags[$tag] = $value; } 関数 out() { $out = $this->header(); $out .= "n"; $out .= "<タイトル>" 。 $this->title 。 "n"; $out .= "<リンク>" 。 $this->リンク 。 "n"; $out .= "" 。 $this->説明 。 "n"; $out .= "<言語>" 。 $this->言語 。 "言語>n"; $out .= " foreach($this->tags as $key => $val) $out .= "<$key>$val$key>n"; foreach($this->items as $item) $out .= $item->out(); $out .= "n"; $out .= $this->footer(); $out = str_replace("&", "&", $out); $out を返す; } 関数serve($contentType = "アプリケーション/xml") { $xml = $this->out(); header("コンテンツタイプ: $contentType"); エコー $xml; } 関数ヘッダー() { $out = '' 。 「ん」; $out .= ' $out を返す; } 関数フッター() { 「」を返す; } } クラスRSSItem { var $title; var $link; var $description; var $pubDate; var $guid; var $tags; var $attachment; var $length; var $mimetype; 関数 RSSItem() { $this->tags = array(); } 関数 setPubDate($when) { if(strtotime($when) == false) $this->pubDate = date("D, d M Y H:i:s ", $when) . 「GMT」; その他 $this->pubDate = date("D, d M Y H:i:s ", strtotime($when)) . 「GMT」; } 関数getPubDate() { if(空($this->pubDate)) return date("D, d M Y H:i:s ") 。 「GMT」; その他 $this->pubDate を返す; } 関数 addTag($tag, $value) { $this->tags[$tag] = $value; } 関数 out() { $out .= "<アイテム>n"; $out .= "<タイトル>" 。 $this->title 。 "n"; $out .= "<リンク>" 。 $this->リンク 。 "n"; $out .= "" 。 $this->説明 。 "n"; $out .= " if($this->attachment != "") $out .= "<エンクロージャ url='{$this->attachment}' length='{$this->length}' type='{$this->mimetype}' />"; if(empty($this->guid)) $this->guid = $this->link; $out .= "
foreach($this->tags as $key => $val) $out .= "<$key>$val$keyn>"; $out .= "n"; $out を返す; } 関数エンクロージャ($url, $mimetype, $length) { $this->attachment = $url; $this->mimetype = $mimetype; $this->length = $length; } } |
使用例以下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$feed = 新しい RSS(); $feed->title = "RSS フィードのタイトル"; $feed->link = "http://website.com"; $feed->description = "ウェブサイトの最近の記事。"; $db->クエリ($クエリ); $結果 = $db->結果; while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $item = 新しい RSSItem(); $item->title = $title; $item->link = $link; $item->setPubDate($create_date); $item->description = ""; $feed->addItem($item); } echo $feed->serve(); |
ここに記載されている大家のphpプログラムの設計に役立つことを希望します。
http://www.bkjia.com/PHPjc/988943.html