Sihirli Fasulyeler
Yükleniyor...
RSS Nedir, Nasıl Oluşturulur?
 Web-Tasarım   3755   24.10.17   24.09.18   0
rss.jpg

Bu makalemde, RSS nedir, ne işe yarar, ne gibi avantajlar sağlar, hangi durumlarda kullanılır gibi RSS hakkında merak edilen pek çok sorunun cevabını bulabilirsiniz. Ayrıca, temel RSS yapısını öğrendikten sonra, veri tabanımızdaki bilgileri kullanarak, PHP ile bir RSS uygulaması da tasarlayacağız. Böylece veri tabanına eklenen her veri otomatik olarak RSS formatına dönüştürülerek kullanıma hazır hale getirilecek. Yani bir daha RSS güncellemesi ile uğraşmak zorunda kalmayacağız.

 

RSS, Rich Site Summary (Zengin Site Özeti) kelimelerin başharflerinden oluşturulmuş, web sitelerinin güncelleme bilgilerinin yer aldığı XML tabanlı bir formattır. Özellikle fazla içeriğe sahip, sık aralıklarla güncellenen web siteleri için oldukça önemlidir. Kullanıcılar, web sitelerinin RSS'lerinden faydalanarak, eklenen yeni bilgilerin özetlerine hızlı bir şekilde ulaşabilir. Bu sayede pek çok web sitesine eklenen yeni bilgiler, kolay ve hızlı bir şekilde kullanıcılara ulaştırılır.

 

RSS bilgilerinin düzgün görüntülenebilmesi için RSS Reader (RSS Okuyucu) programları kullanılmalıdır. Şu anda internette, hem bilgisayar ortamında hem de cep telefonunda çalışan pek çok RSS Okuyucu yazılımı bulunmaktadır. Bunlardan en popüler olanları Feedly, NewsBlur ve Inoreader şeklinde sıralanabilir. Bu yazılımlara üye olduktan sonra, varolan kategorilere (veya kendinize göre oluşturduğunuz yeni kategorilere) web siteleri ekleyebilir, haberdar olmak istediğiniz web sitelerinin güncelleme bilgilerine anlık olarak ulaşabilirsiniz. Böylece takip etmek istediğiniz web sitelerini tek tek ziyaret etmek yerine, bu sitelerin içerik özetlerine tek bir yerden ulaşabilir, eklenen içeriklerden hızlıca haberdar olabilirsiniz. Ayrıca Opera tarayıcısı da RSS desteği vermektedir.

  Feedly  

Eğer sıklıkla yeni bilgiler eklediğiniz (blog gibi) bir web siteniz varsa, RSS hizmeti sunmanız mantıklı olacaktır. Peki bir websitesi için RSS nasıl oluşturulur? Öncelikle en basit RSS yapısına bir göz atalım.

 
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
  <title>Sihirli Fasulyeler</title>
  <link>https://www.sihirlifasulyeler.com</link>
  <description>Bilim, gezi, teknoloji, web-tasarım hakkında güncel bilgiler.</description>
  <item>
    <title>RSS Örneği</title>
    <link>www.siteadi.com/yol</link>
    <description>RSS yapımı için örnek uygulama</description>
  </item>
</channel>
</rss>
 

<channel> ve ayrıca <item> düğümleri arasında kalan <title>, <link> ve <description> düğümleri farklı görev yapar.<channel> düğümünden hemen sonra gelen <title>, <link> ve <description>, site bilgilerini içeririrken, <item> düğümünün içinde yer alanlar, site içindeki bir sayfanın bilgilerini içerir. Örneğimizde de görüldüğü gibi site bilgilerine sahip <title>, <link> ve <description> düğümleri, <channel> düğümünden hemen sonra tanımlanmış, sitede yer alan "RSS Örneği" isimli sayfa için gerekli bilgiler, <item> düğümleri arasında yer almıştır. Bir web sitesindeki bütün sayfaların özetleri <item> düğümleri arasında RSS bloğuna dahil edilir. Elbetteki çok fazla sayıda sayfa bilgileri için, bunları tek tek el ile yazmak mantıksız olur. PHP-Veri tabanı veya internetteki RSS oluşturan web sitelerini kullanarak, RSS yapılarımızı oluşturabiliriz. Fakat RSS dosyamızı internette bu hizmeti sağlayan web sitelerini kullanarak oluşturmuş isek, yeni konu eklemesinde, yeni RSS dosyasını oluşturup, bu dosyayı tekrar sunucuya atmamız gerekiyor. Bu yüzden en kolay yol, PHP - Veritabanı yoludur. Bu yöntemle RSS sistemini bir kere oluşturursanız, veri tabanına eklenen her veri ile sistem otomatik olarak güncellenir. Yani bir daha RSS güncellemesi ile uğraşmak zorunda kalmazsınız. Şimdi veritabanından aldığımız bilgiler ile bir RSS yapısı oluşturalım.

 
<?php
//Örnek Veri Tabanı Bağlantısı
$kullanici = 'localhost';
$sifre = ''; 
try {
    $db = new PDO('mysql:host=localhost;dbname=veri_tabani_adi;charset=utf8',$kullanici,$sifre);
} catch (PDOException $e) {
    print "Hata!: " . $e->getMessage() . "<br/>";
    die();
}
//Bilgileri Veri Tabanından Alma İşlemi
$sorgu = "SELECT * FROM tablo_adi LIMIT 40";
$data = $db->prepare($sorgu);
$data->execute();
$bilgi = $data->fetchAll(PDO::FETCH_ASSOC);

//Veri Tabanından Alınan Bilgiler İle RSS oluşturma
//Veri Tabanında baslik, icerik, link, tarih isimli sütunların olduğunu varsayıyorum.
//Temel Kısımlar
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="utf-8"?>';
echo '<rss version="2.0">';
echo '<channel>';
echo '<title>Sihirli Fasulyeler - RSS</title>';
echo '<link>http://www.sihirlifasulyeler.com</link>';
echo '<description>Bilim, gezi, teknoloji, web-tasarım alanlarında güncel bilgi kaynağınız.</description>';
//Sayfaları, RSS Bloğuna Ekleme
//Döngü sayesinde sayfalar için RSS yapıları otomatik oluşturulur.
foreach ($bilgi as $deger) {
echo'<item>';
	echo '<title>'.$deger['baslik'].'</title>';
	echo '<link>http://www.siteadi.com/'.$deger['link'].'</link>';
	echo '<description>'.$deger['icerik'].'</description>';
	echo '<author>yazar@mailadresi.com (Yazar)</author>';
	echo '<pubDate>'.date('D, d M Y H:i:s T',strtotime($deger['tarih'])).'</pubDate>';
	echo '<guid isPermaLink="true">http://www.siteadi.com/'.$deger['link'].'</guid>';
echo '</item>';
}
//Temel Düğümleri Kapatma
echo '</channel>';
echo '</rss> ';
?>
 

Elde ettiğimiz dosyayı rss.php olarak kaydedip kullanabiliriz. Bu kodlamayı kendi veri tabanınıza göre düzenleyip test edebilirsiniz. Test için, Uluslararası İnternet Standartları Organizasyonunun resmi sitesini kullanabilirsiniz.

 

RSS sayfaları için CSS kodlamaları da yapabilmekteyiz. Böylece direkt RSS sayfamıza giriş yapan kullanıcılar karmakarışık yazı ve XML düğümleri yerine oldukça düzenli bir yapı görebilirler. CSS dosyasını

 
<? xml-stylesheet type="text/css" href="css/rss.css" ?>
 

şeklinde XML yapısına ekleyebilir, rss.css adı verdiğimiz CSS dosyası ile istediğimiz görsel düzenlemeleri yapabiliriz. Yukarıdaki metotlar ile elde ettiğimiz RSS sayfamıza göz atabilir ve yapısını inceleyebilirsiniz.

 

 Konuyu geliştirmemize yardımcı ol, konuyu değerlendir.
%100

 

 Bu konuyu paylaş

 

 Yorum yaz, soru sor, geliştirme öner
E-Posta adresiniz yayınlanmayacak.

 

 İlk Yorumu Sen Yap