Достойный генератор RSS-каналов для PHP

Мне нужен генератор RSS-ленты; следует ли использовать класс или я должен сам генерировать фид?

Если я должен сам создать его, где хорошее место, чтобы получить исчерпывающие спецификации стандартов?

Если нет, есть ли хорошие классы там, чтобы сделать это, и сделать это быстро и сделать это хорошо?

Ответы

Ответ 1

Универсальный генератор кормов PHP (поддерживает RSS 1.0, RSS 2.0 и ATOM)

Особенности:

  • Создает RSS 1.0, RSS 2.0 и каналы ATOM 1.0
  • Все фиды проверяются с помощью модуля проверки фида.
  • Поддерживает все возможные элементы подачи.
  • Простая и простая настройка каналов и фидов
  • Реализовывает соответствующие пространства имен для разных версий.
  • Автоматически преобразует форматы даты.
  • Создает UUID для фидов ATOM.
  • Разрешает использование подзадач и атрибутов. (пример: теги изображений и контейнеров)
  • Полностью объект, ориентированный в структуре классов PHP5.
  • Обрабатывает кодировку CDATA для требуемых тегов.
  • Почти такой же код для создания всех видов фидов

Examples

Ответ 2

Скоро появится компонент для Zend Framework под названием Zend_Feed_Writer, который выглядит довольно интересным. Вот выдержка из подачи одного из (возможно,?) Разработчиков этого компонента, Padráic Brady (ссылка на сообщение в блоге). Он говорит, что это в настоящее время в Инкубаторе Zend Framework, но что первая официальная версия должна быть готова к концу выходных:

Zend_Feed_Writer

Новый ребенок на блоке, который будет добавлен в Zend Framework 1.10, является Zend_Feed_Writer. Немного похоже на Занятия Zend_Feed_Builder, его назначение является создание Atom 1.0 и RSS 2.0 каналы. Разница в том, что, как его брат Send_Feed_Reader, это стандарты знают и действуют полностью используя PHP DOM.

Почему еще один компонент генерации корма? Проблема несколько похожа на тот, который был решен Zend_Feed_Reader. Создание фида RSS и Atom далеки больше, чем приклеить кучу элементы вместе - каждый стандарт имеет его причуды, его уникальные возможности и собственный набор лучших практик за пределами стандартов. С помощью Zend_Feed_Builder, вы полагались на два вещи - повторение и валидация. Отказ от основной фокусировки потребовалось больше работы, даже в той степени подкласса, и вы всегда были в милость неправильного толкования стандарт.

Zend_Feed_Writer основывается на простой API Zend_Feed_Reader (с использованием сеттеров а не геттеры) и концепция того, что компонент понимает стандартов (поэтому вам не обязательно). компонент разбит на два класса типы - базовый контейнер данных для хранения подавать данные и обеспечивать соответствие ожидаемые форматы и рендерер для на самом деле генерировать каналы и обеспечивать обратную связь по стандартам присоединение. Например, в Atom 1.0 упущение названия будет генерировать исключение - заголовок является обязательный элемент в Atom 1.0 стандарт. Хотя это может быть интерпретируется как неприятность, факт что недопустимый фид Atom 1.0 хуже чем бесполезно. Лучше вас раздражают теперь, чем позже, когда онлайн валидатор называет вас грубыми именами: -).

Конечным результатом этого подхода является что вы фокусируетесь на данных, и пусть Zend_Feed_Writer беспокоится о том, что элементы и атрибуты для использования. Это должен, теоретически (всегда большой вещь), будет невозможно для Zend_Feed_Writer для создания недопустимого корма.

Конечно, мы также бросаем концепции расширений, как и с Zend_Feed_Reader, позволяющий добавить поддержка расширений RSS и Atom более динамично, без необходимости подклассирование или скручивание инструмента API.

Если вы ищите Zend_Feed_Writer, он в настоящее время находится в куски в инкубаторе. мне следует иметь он полностью интегрирован и функционирует на выходных. Однако вы можете дать это выстрел для написания Atom 1.0 feeds пока вы придерживаетесь ядра элементы (т.е. большинство блогов). RSS 2.0 - последняя часть, которую мне нужно заполнить полностью.

Ответ 3

На этой странице есть достойная версия для генератора 1.0/2.0/ATOM, поэтому вы можете использовать ее (PHP5) или просто получить общее представление о том, что нужно:

Php FeedWriter

Заметки об использовании внизу довольно подробные, и вам даже не нужно загружать их для просмотра.