Á¦13Àå Zend_Feed

¸ñÂ÷

13.1. µµÀÔ
13.2. ÇǵåÀÇ Àбâ
13.2.1. µ¶ÀÚÀûÀÎ Çǵå
13.3. À¥ÆäÀÌÁö·ÎºÎÅÍÀÇ ÇǵåÀÇ Ãëµæ
13.4. RSS ÇǵåÀÇ »ç¿ë
13.5. Atom ÇǵåÀÇ »ç¿ë
13.6. ´ÜÀÏÀÇ Atom ¿£Æ®¸®ÀÇ Ã³¸®
13.7. ÇÇµå ¹× ¿£Æ®¸®ÀÇ ±¸Á¶ÀÇ º¯°æ
13.8. µ¶ÀÚÀûÀÎ Çǵå Ŭ·¡½º ¹× ¿£Æ®¸® Ŭ·¡½º

13.1. µµÀÔ

Zend_Feed (Àº)´Â,RSS (ÀÌ)³ª Atom ÀÇ Çǵ带 Ãë±ÞÇÏ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ÇǵåÀÇ ¿ä¼Ò³ª ¼Ó¼º, ±×¸®°í ¿£Æ®¸®ÀÇ ¼Ó¼º¿¡, ÀÚ¿¬½º·¯¿î ¹æ¹ýÀ¸·Î ¾×¼¼½º ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ¶Ç,Zend_Feed ±×¸®°í Çǵ峪 ¿£Æ®¸®ÀÇ ±¸Á¶¸¦ º¯°æÇØ, ±× °á°ú¸¦ XML ¿¡ ½á µÇµ¹¸°´Ù°í ÇÏ´Â È®Àå ±â´Éµµ ÀÖ½À´Ï´Ù.Àå·¡ÀûÀ¸·Î´Â Atom Publishig Protocol (AtomPP) ¿¡µµ ´ëÀÀ½Ãų ¿¹Á¤ÀÔ´Ï´Ù.

Zend_Feed ÀÇ ±¸¼ºÀº, base class Zend_Feed, Çǵ峪 ¿£Æ®¸®¸¦ Ãë±ÞÇϱâ À§ÇÑ ±âÀú Ãß»ó Ŭ·¡½º Zend_Feed_Abstract ¹× Zend_Feed_Entry_Abstract,RSS (ÀÌ)³ª Atom ¿ë¹«ÀÇ Çǵå Ŭ·¡½º¿Í ¿£Æ®¸® Ŭ·¡½ºÀÇ ½ÇÀå, ±×¸®°í ÀÚ¿¬½º·¯¿î ¹æ¹ýÀ¸·Î ±×°ÍµéÀ» Á¶ÀÛÇϱâ À§ÇÑ ÇïÆÛ·ÎºÎÅÍ ¼º¸³µÇ°í ÀÖ½À´Ï´Ù.

ÀÌÇÏ¿¡¼­´Â,RSS ÇǵåÀÇ Ãëµæ, ÇÇµå µ¥ÀÌÅÍÀÇ PHP ¹è¿­¿¡ÀÇ º¯È¯, µ¥ÀÌÅÍÀÇ Ç¥½Ã, µ¥ÀÌŸº£À̽º¿¡ÀÇ º¸Á¸µîÀÌ °£´ÜÇÑ »ç¿ë¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

[ÁÖÀÇ] ÁÖÀÇ

RSS Çǵ忡 ÀÇÇØ¼­, »ç¿ëÇÒ ¼ö Àִ ä³ÎÀ̳ª ¾ÆÀÌÅÛÀÇ ÇÁ·ÓÆÛƼ°¡ ´Ù¸¨´Ï´Ù. RSS ÀÇ »ç¾ç¿¡¼­´Â ¿É¼ÇÀÇ ÇÁ·ÓÆÛƼ°¡ ¸¹ÀÌ Á¤Àǵǰí ÀÖÀ¸¹Ç·Î, RSS µ¥ÀÌÅ͸¦ Ãë±ÞÇÏ´Â Äڵ带 ¾µ ¶§ À̰Ϳ¡ ÁÖÀÇÇսôÙ.

·Ê 13.1. Zend_Feed ¿¡ ÀÇÇÑ´Ù RSS ÇÇµå µ¥ÀÌÅÍÀÇ »ç¿ë


<?php
require_once 'Zend/Feed.php';

// ÃÖ½ÅÀÇ Slashdot Çìµå¶óÀÎÀ» ÃëµæÇÕ´Ï´Ù
try {
    
$slashdotRss Zend_Feed::import('http://rss.slashdot.org/Slashdot/slashdot');
} catch (
Zend_Feed_Exception $e) {
    
// ÇǵåÀÇ Àоîµé¿©¿¡ ½ÇÆÐÇß½À´Ï´Ù
    
echo "ÇǵåÀÇ ÀбâÁß¿¡ ¿¹¿Ü°¡ ¹ß»ý: {$e->getMessage()}n";
    exit;
}

// Ã¤³Î µ¥ÀÌÅÍÀÇ ¹è¿­À» ÃʱâÈ­ÇÕ´Ï´Ù
$channel = array(
    
'title'       => $slashdotRss->title(),
    
'link'        => $slashdotRss->link(),
    
'description' => $slashdotRss->description(),
    
'items'       => array()
    );

// Ã¤³ÎÀÇ °¢ Ç׸ñÀ» ·çÇÁ ÇØ, °ü·ÃÇÏ´Â µ¥ÀÌÅ͸¦ º¸Á¸ÇÕ´Ï´Ù
foreach ($slashdotRss as $item) {
    
$channel['items'][] = array(
        
'title'       => $item->title(),
        
'link'        => $item->link(),
        
'description' => $item->description()
        );
}