31 Temmuz 2008 Perşembe

RSS export mekanizması php ile

Sitemize neden RSS hizmeti koymalıyız, Ne işimize yarar?

RSS günümüz teknolojileri arasında en yaygın takip standardı haline geldi. Şu an insanlar RSS okuyucu programları veya web uygulamalarına takip ettikleri siteler/forumlar/haber kaynaklarına ilişkin kayıtları tek standart'da okumak için ekliyor ve her gün binlerce insan bu sistem sayesinde birçok siteye girmeden tek merkezden çoğu haberi takip edip çoğu gelişmeden haberdar olabiliyor.



  1. header('Content-type: text/xml');


kodunu basıyoruz sayfanın çıktı basılmamış bir kısmına.



Şimdi size 2 kayıtlık bir XML çıktısı örneği verip açıklayayım :



  1. <?xml version="1.0" encoding="iso-8859-9"?>
  2. <rss version="2.0">
  3.   <channel>
  4.  
  5.     <title>MFYZ.Com Etkinlik Takvimi</title>
  6.     <link>http://www.mfyz.com/?takvim</link>
  7.     <description>Etkinlik Takvimi</description>
  8.     <language>en-us</language>
  9.     <generator>MFYZ.Com RSS Exporter v0.1</generator>
  10.     <managingEditor>Mehmet Fatih YILDIZ</managingEditor>
  11.  
  12.     <item>
  13.       <title>MFYZ v0.6 Test Sürüşü</title>
  14.       <link>http://www.mfyz.com/?takvim</link>
  15.       <pubDate>Sat, 29 Jul 2006 21:00:00 GMT</pubDate>
  16.       <description><![CDATA[ Bu etkinlige ait aciklama ]]></description>
  17.     </item>
  18.  
  19.     <item>
  20.       <title>Linux Şenliği 4.Gün</title>
  21.       <link>http://www.mfyz.com/?takvim</link>
  22.       <pubDate>Sat, 13 May 2006 21:00:00 GMT</pubDate>
  23.       <description><![CDATA[ HTML etiketleri kullanabilirsiniz. RSS okuyucunuzun yorumlamasýna göre gosterilecektir. ]]></description>
  24.     </item>
  25.  
  26.   </channel>
  27. </rss>


Bu gördüğünüz kod RSS işlem sayfanız tarafından çıktısı yapılmış TÜM RSS örneğini ifade ediyor.



  1. <item>
  2.   <title>MFYZ v0.6 Test Sürüşü</title>
  3.   <link>http://www.mfyz.com/?takvim</link>
  4.   <pubDate>Sat, 29 Jul 2006 21:00:00 GMT</pubDate>
  5.   <description><![CDATA[ Bu etkinlige ait aciklama ]]></description>
  6. </item>


kod bloğu ise sizin for veya while gibi bir döngü mekanizması ile kayıtlarınızı dönüp çıktısını alacağınız kısımdır. Bunun dışında kalan kısımlar (öncesindeki kısım ve sonrasindaki kısım) sizin statik basacağınız bölümdür.



Burada dikkat edilmesi gereken nokta pubDate olarak çıktı vereceğiniz tarih yukarıda gödrüğünüz formatta olmak zorundadır.



Bu tarih formatını "Y-m-d H:i:s" formatındaki genel kullanımdan bu formata;



  1. gmdate( 'D, d M Y H:i:s', $tarihinize_ait_degisken ) . " GMT"


ile oluşturabilirsiniz.



2.önemli konu ise kod olarak basacağınız diğer string'ler yani title ve description etiketlerinin içerisine ekleri ile basmanızdır. Tahmin edeceğiniz gibi link etiketinde ise bu gönderinize ait url/link olacak. RSS çıktısı basan işlemler bundan ibaret.



Ben dinamik gönderileri basarken tüm kayıtlarımı RSS'e yazdırmıyorum. RSS okuyucular genelde yeni eklenen kayıtları saptayıp onları kullanıcıya gösterir. Bu yüzden sitenizde RSS export edeceğiniz kayıt kümesinin güncellenme yoğunluğuna bağlı olarak maksimum 50-100 kayıt bastırın. Çünkü eğer büyük boyutta bir RSS çıktınız olursa, hem kullanıcılar tarafından bunun güncellenmesi zor/uzun olacaktır. Hemde gereksiz kayıtları her seferinde boşuna transfer ettirmiş olursunuz.





Hiç yorum yok: