A Symfony bundle for generating RSS/Atom feeds from entities and reading feeds to populate entities.
FeedBundle is a Symfony bundle that enables developers to generate RSS and Atom feeds directly from their application's entities. It solves the problem of manually creating and managing XML feeds by providing a structured, configurable approach that integrates seamlessly with Symfony's ecosystem. The bundle also supports reading external feeds to populate entities, making it a two-way solution for feed handling.
Symfony developers who need to add RSS or Atom feed functionality to their applications, such as blogs, news sites, or content management systems. It's particularly useful for projects requiring automated feed generation from database entities.
Developers choose FeedBundle for its deep integration with Symfony, ease of configuration, and comprehensive feature set that covers both feed generation and consumption. Its ability to handle custom fields, translations, and console-based dumping provides flexibility not always found in simpler feed libraries.
A Symfony bundle to build RSS feeds from your entities
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly integrates with Symfony's dependency injection, entities, and translation systems, as shown by the FeedManager service and ItemInterface implementation.
Supports custom channel and item fields, groups, and media enclosures with extensive examples in the README for complex feed structures.
Not only generates feeds from entities but also reads external feeds to populate entities using the feed reader service and hydrators.
Includes a console command and FeedDumpService to dump feeds to static XML files, reducing runtime overhead for frequently accessed feeds.
Requires implementing ItemInterface or RoutedItemInterface in entity classes, which can clutter business logic and violate separation of concerns.
Only generates RSS and Atom feeds out-of-the-box, with no built-in support for modern alternatives like JSON Feed, as admitted in the README.
Setup involves multiple steps including YAML configuration, interface implementation, and method definitions, which can be verbose for simple feeds.