- How do I install dragon-code/laravel-feeds in a Laravel application?
- Install it with Composer via composer require dragon-code/laravel-feeds, then publish the package configuration file. After that you define a feed using the fluent channel and item builders and expose it through a route or an artisan/queue entry point. No hand-written XML or feed templates are required.
- Which PHP and Laravel versions does laravel-feeds support?
- The 2.0.0 release targets PHP 8.4 and Laravel 13 and is tested with Pest 5, so it is a forward-leaning support matrix. If your application runs Laravel 10 or 11 on PHP 8.1 to 8.3, you will most likely need to stay on the 1.x line. Check the actual composer.json constraints and the CI version matrix rather than inferring support from release notes, and confirm how long 1.x will keep receiving fixes.
- Can I build RSS and Atom feeds directly from Eloquent models?
- Yes. The package is designed as a serialization layer between your query layer and a feed consumer, so you can map Eloquent models or plain collections into feed items with the fluent builder. You control each item's title, link, publication date, description and any custom fields. Custom item formatting is available when the default mapping is not enough.
- How do I serve a generated feed at a URL in Laravel?
- Feeds are exposed through Laravel-native routing, so you can point a route at a feed definition and return standards-compliant RSS or Atom XML. For scheduled catalog or pricing exports you can also generate feed files from an artisan command or a queued job. Note that in 2.x generated filenames are derived from the feed title slug, so pull URLs can differ from earlier versions.
- How do I customize feed metadata such as title, description and language?
- Channel-level metadata is defined through the fluent feed builder, so title, description, link and similar values are set in PHP rather than in a template. Version 2.x adds per-feed converter configuration and per-item date formatting for finer control over the output. This keeps all output shaping in one place that is easy to review and test.
- Is laravel-feeds suitable for large catalogs and high-volume feeds?
- The package supports split feeds for partitioned output, and recent performance fixes addressed quadratic lookups in split-feed handling and repeated config resolution per row. That makes it reasonable for scheduled exports of sizeable catalogs. Whether output is streamed to disk or buffered in memory has not been confirmed from the source, so benchmark against your own catalog size before relying on it for very large feeds. It is not a fit for streaming, sub-minute freshness or general data movement.
- Is dragon-code/laravel-feeds actively maintained and safe for production?
- The project shows the markers of a maintained package: a written 1.x to 2.x upgrade guide, documented configuration attributes, targeted performance fixes and sustained PR activity in the 280 to 320 range. The main residual risk is bus factor, since the 2.0.0 work is authored by a single maintainer. Verify tag dates and the CI matrix against actually released framework versions before planning an adoption.
- What breaks when upgrading laravel-feeds from 1.x to 2.x?
- Two things matter most. First, 2.0.0 raises the platform floor to PHP 8.4 and Laravel 13, so you cannot take the incremental features such as converter config and per-item date formatting without also upgrading your runtime. Second, the Feed suffix was removed from feed titles and generated files are now named from title-derived slugs, which can silently change pull URLs that consumers have bookmarked or allow-listed. Read the upgrade guide and migrate file paths deliberately.
- How do I test feed output in my Laravel test suite?
- Because feeds are returned through normal Laravel routes, you can assert on them with the usual HTTP test helpers, checking the response body for expected item titles and links and asserting the XML content type header. The package itself is tested with Pest 5, so Pest or PHPUnit both work for your own assertions. Snapshot or fixture comparisons are useful for catching accidental format changes between releases.
- What are the alternatives to dragon-code/laravel-feeds?
- Other Laravel feed packages exist, such as spatie/laravel-feed, and some teams simply build XML responses by hand for a single simple feed. The trade-off is that laravel-feeds is deliberately narrow: it is a serialization layer, not an ETL or data-movement tool, which keeps coupling low and the real contract at the RSS or Atom file format. That narrow scope also means switching away later is relatively inexpensive.