Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Podcastfeed

Podcastfeed Laravel Package

torann/podcastfeed

Generate podcast RSS feeds in Laravel with torann/podcastfeed. Build valid iTunes-compatible feeds, add episodes, enclosures, artwork, and metadata, then output them as XML for Apple Podcasts and other directories.

View on GitHub
Deep Wiki
Context7

torann/podcastfeed is a Laravel package for generating standards-compliant podcast RSS feeds directly from your application. It offers a fluent API for describing show-level metadata and individual episodes, then renders valid RSS 2.0 XML complete with the iTunes namespace tags that podcast directories and clients rely on.

  • Fluent builders for feeds and episodes
  • iTunes tags: author, category, explicit flag, artwork, owner
  • Enclosure and media file support per episode
  • Blade-based, customizable XML output
  • Simple Laravel config and service provider integration
Frequently asked questions about Podcastfeed
How do I install torann/podcastfeed in a Laravel application?
Run composer require torann/podcastfeed, then publish the channel config with php artisan vendor:publish so config/podcastfeed.php becomes the single source of show-level metadata. On Laravel 5.5 and later the service provider and PodcastFeed facade are auto-discovered; on earlier 5.x releases you register the provider and alias manually in config/app.php. After that, map an Eloquent episode model to feed items and return the rendered XML from a route.
Which Laravel and PHP versions does torann/podcastfeed support?
The package targets the Laravel 5.x era, with package auto-discovery from 5.5 and manual provider registration on earlier 5.x versions. Its composer.json constraint predates Laravel 6, so expect dependency resolution failures and removed-helper or dynamic-property deprecations on modern frameworks and PHP 8. Read composer.json before committing: on Laravel 6+ or PHP 8.2 treat it as frozen reference source rather than a live dependency.
How do I add episodes and media enclosures to the feed?
Build each episode with the fluent item builder and attach media through the enclosure method, passing the file URL, the size in bytes, and the MIME type. Byte length matters: pass the raw byte count from your storage layer, never a formatted string such as 12 MB, or validators and some clients will reject the episode. Give every item a stable GUID and a correct pubDate, and remember that a wrong date format is a classic silent failure that produces a feed which loads but fails validation.
How do I return the podcast feed as an RSS response in Laravel?
Resolve the feed through the PodcastFeed facade or a fresh feed instance, add channel metadata and episodes, then return the rendered document from a controller with the application/rss+xml content type and a UTF-8 charset. Cache the rendered string keyed off the newest episode updated_at so the endpoint stays cheap under crawler traffic. Validate the output with xmllint --noout and Apple's Podcasts validator before pointing any directory at it.
Does torann/podcastfeed generate iTunes-compatible tags for Apple Podcasts?
Yes. The package emits the iTunes namespace tags directories rely on, including itunes:author, itunes:category, itunes:explicit, itunes:image, and itunes:owner, plus episode-level duration, subtitle, summary, and block. That tag vocabulary is the part that usually costs real research time, which is the main reason to evaluate the package at all. Remember that itunes:category must resolve to a leaf node, or the feed loads but fails Apple's validator.
Can I customize the XML template used to render the podcast feed?
Yes, the output is Blade-based, so you can publish the package views and override the template to add tags, adjust element order, or embed extra namespaces. Keep the customizations small and pin the exact package version, because once you edit the template you are maintaining XML the package does not own. Re-validate the document after every template change.
Does torann/podcastfeed support Podcasting 2.0 tags like podcast:transcript or podcast:chapters?
No. The package predates itunes:episodeType, itunes:season, itunes:episode, and the full Podcasting 2.0 namespace, including podcast:transcript, podcast:chapters, podcast:funding, podcast:guid, and podcast:locked. If your show needs those features you will be extending XML you do not own, which is a strong argument for owning the presenter in-house. Treat the package as a shortcut for iTunes spec research rather than a forward-looking feed layer.
How should I test and validate a podcast feed generated in Laravel?
Unit test the model-to-item mapping through a toFeedItem method independently of HTTP so the feed contract survives refactors, then assert the endpoint returns application/rss+xml with the right charset. Validate the real document with xmllint --noout and Apple's Podcasts validator, and check the silent-failure cases: enclosure byte length, stable GUIDs, leaf itunes:category values, and correct pubDate formatting. HTML escaping in descriptions is another common trap, since markup inside CDATA or double-encoded entities can quietly break playback.
Is torann/podcastfeed maintained and safe to use in production?
It is a single-maintainer package with effectively zero dependents, so regressions are neither discovered nor fixed quickly, and its Laravel 5 constraint means no upstream fix is coming for newer frameworks. That is an ownership risk rather than a code-quality problem. On a Laravel 5 app, vendor it behind a thin adapter, pin the exact version, and treat it as frozen source; on Laravel 6+ or PHP 8, do not add it as a Composer dependency.
What are the alternatives to torann/podcastfeed for podcast feeds in Laravel?
The realistic alternative is harvesting the iTunes tag vocabulary from the package source and implementing the endpoint in-house: a controller plus a Blade or XMLWriter presenter owning roughly 300 lines of XML. That keeps you free to add Podcasting 2.0 tags, multi-tenant per-show config, authenticated feeds, and dynamic ad insertion later. Generic RSS packages such as spatie/laravel-feed cover basic feeds but do not handle the podcast-specific iTunes semantics directories require.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource