PHP için iyi bir RSS jeneratör [kapalı]

3 Cevap php

Ben bir RSS Feed jeneratör gerekir; Ben bir sınıf kullanmak gerekir veya feed kendimi oluşturmak gerekir?

Ben bunu kendim oluşturmak gerekiyorsa, nerede standartların kapsamlı gözlük almak için iyi bir yerdir?

Eğer değilse, herhangi bir iyi sınıfları yapmak ve hızlı bir şekilde yapmak için orada olduğunu ve bunu iyi yapmak?

3 Cevap

PHP Universal Feed Generator (supports RSS 1.0, RSS 2.0 and ATOM)

Özellikler:

* Generates RSS 1.0, RSS 2.0 and ATOM 1.0 feeds
* All feeds are are validated by feed validator.
* Supports all possible feed elements.
* Simple and easy to define channel and feed items
* Implements appropriate namespaces for different versions.
* Automatically converts date formats.
* Generates UUID for ATOM feeds.
* Enables usage of subtags and attributes. (example: image and encloser tags)
* Completely Object oriented in PHP5 class structure.
* Handles CDATA encoding for required tags.
* Nearly same code for generating all kinds of feed

Örnek (bağlantılı sayfasından alınan ve yorumlar elimden)

<?php
  include("FeedWriter.php");
  $TestFeed = new FeedWriter(RSS2);
  $TestFeed->setTitle('Testing & Checking the RSS writer class');
  $TestFeed->setLink('http://www.ajaxray.com/projects/rss');
  $TestFeed->setDescription(
        'This is test of creating a RSS 2.0 feed Universal Feed Writer'
  );
  $TestFeed->setImage('Testing the RSS writer class',
        'http://www.ajaxray.com/projects/rss',
        'http://www.rightbrainsolution.com/images/logo.gif');
    mysql_connect("server", "mysql_user", "mysql_password");
    mysql_select_db("my_database");
    $result = mysql_query("Your query here");
    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        $newItem = $TestFeed->createNewItem();
        $newItem->setTitle($row['title']);
        $newItem->setLink($row['link']);
        $newItem->setDate($row['create_date']);
        $newItem->setDescription($row['description']);
        $TestFeed->addItem($newItem);
    }
  $TestFeed->genarateFeed();
?>

Yakında oldukça ilginç görünüyor Zend Framework denilen Zend_Feed_Writer için bir bileşeni olacak. İşte bu bileşenin (belki?) Geliştirici, Padraic Brady birinin bir besleme bir alıntı bulunuyor (link to the blog post). O bir ilk resmi sürümü hafta sonuna kadar hazır olması gerektiğini Zend Framework enkubatörde şu anda, ama o diyor ki:

Zend_Feed_Writer

The new kid on the block, to be added in Zend Framework 1.10, is Zend_Feed_Writer. A bit like the older Zend_Feed_Builder classes, its purpose is to generate Atom 1.0 and RSS 2.0 feeds. The difference is that, like its sibling Zend_Feed_Reader, it is standards aware and operates entirely using PHP's DOM.

Why another feed generation component? The problem is somewhat similar to the one that Zend_Feed_Reader solved. Generating an RSS and Atom feed is far more involved than sticking a bunch of elements together - each standard has its quirks, its unique features, and its own set of best practices outside of the standards. Using Zend_Feed_Builder, you relied on two things - repetition and validation. Moving away from its core focus required more work, even to the extent of subclassing, and you were always at the mercy of misinterpreting a standard.

Zend_Feed_Writer builds on the simple API of Zend_Feed_Reader (using setters rather than getters) and the concept of having the component understand the standards (so you don't have to). The component is split across two class types - a base data container to store feed data and ensure it conforms to expected formats, and a renderer to actually generate the feeds and provide feedback on standards adherence. For example, in Atom 1.0 the omission of a title will generate an exception - a title is an obligatory element under the Atom 1.0 standard. While this could be interpreted as a nuisance, the fact is that an invalid Atom 1.0 feed is worse than useless. Better you are irritated now, than later when an online validator calls you rude names :-).

The net result of this approach is that you focus on the data, and let Zend_Feed_Writer worry about what elements and attributes to use. It should, in theory (always a grand thing), be impossible for Zend_Feed_Writer to produce an invalid feed.

Of course, we also throw in the concept of Extensions, as with Zend_Feed_Reader, allowing you to add support for RSS and Atom extensions more dynamically without the need for subclassing or API arm twisting.

If you go looking for Zend_Feed_Writer, it's currently in chunks in the Incubator. I should have it entirely integrated and functional over the weekend. You can however give it a shot for writing Atom 1.0 feeds so long as you stick to the core elements (i.e. most blog feeds). RSS 2.0 support is the last piece I need to complete in full.

Bunu (PHP5) kullanın veya sadece gerekli olan ne genel bir fikir alabilir ya da çok bu sayfa iyi bir jeneratör toplantı 1.0/2.0/ATOM spec vardır:

Php FeedWriter

Altındaki kullanım notları oldukça detaylı ve hatta kaynağı görmek için indirmek zorunda değilsiniz.