PHPackages                             krakero/podcastfeed - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. krakero/podcastfeed

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

krakero/podcastfeed
===================

Generate RSS feeds for podcasts in Laravel

v1.0(2y ago)03BSD-2-ClausePHPPHP &gt;=5.5.9

Since Oct 20Pushed 2y agoCompare

[ Source](https://github.com/krakero/podcastfeed)[ Packagist](https://packagist.org/packages/krakero/podcastfeed)[ RSS](/packages/krakero-podcastfeed/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

> **NOTE:** This package was forked from the existing packge by [Torann](https://github.com/Torann/podcastfeed).

Podcast Generator for Laravel
=============================

[](#podcast-generator-for-laravel)

Generate a RSS feed for podcast for Laravel.

Installation
------------

[](#installation)

- [Podcast on Packagist](https://packagist.org/packages/krakero/podcastfeed)
- [Podcast on GitHub](https://github.com/krakero/podcastfeed)

From the command line run

```
composer require krakero/podcastfeed

```

### Setup

[](#setup)

Once installed you need to register the service provider with the application. Open up `config/app.php` and find the `providers` key.

```
'providers' => [
    ...

    Krakero\PodcastFeed\PodcastFeedServiceProvider::class,

    ...
]
```

This package also comes with a facade, which provides an easy way to call the the class. Open up `config/app.php` and find the `aliases` key

```
'aliases' => [
    ...

    'PodcastFeed' => Krakero\PodcastFeed\Facades\PodcastFeed::class,

    ...
];
```

### Publish the configurations

[](#publish-the-configurations)

Run this on the command line from the root of your project:

```
$ php artisan vendor:publish --provider="Krakero\PodcastFeed\PodcastFeedServiceProvider"

```

A configuration file will be publish to `config/podcast-feed.php`.

Methods
-------

[](#methods)

**setHeader**The header of the feed can be set in the config file or manually using the `setHeader` method:

```
PodcastFeed::setHeader([
    'title'       => 'All About Everything',
    'subtitle'    => 'A show about everything',
    'description' => 'Great site description',
    'link'        => 'http://www.example.com/podcasts/everything/index.html',
    'image'       => 'http://example.com/podcasts/everything/AllAboutEverything.jpg',
    'author'      => 'John Doe',
    'email'       => 'john.doe@example.com',
    'category'    => 'Technology',
    'language'    => 'en-us',
    'copyright'   => '2016 John Doe & Family',
]);
```

**addMedia**Adding media to the feed.

```
foreach($this->podcastRepository->getPublished() as $podcast)
{
    PodcastFeed::addMedia([
        'title'       => $podcast->title,
        'description' => $podcast->title,
        'publish_at'  => $podcast->publish_at,
        'guid'        => route('podcast.show', $podcast->slug),
        'url'         => $podcast->media->url(),
        'type'        => $podcast->media_content_type,
        'duration'    => $podcast->duration,
        'image'       => $podcast->image->url(),
    ]);
}
```

**toString**Converting feed to a presentable string. The example below was pulled from a controller. In theory you could implement a caching method so that it doesn't have to render each time.

```
public function index()
{
    foreach($this->podcastRepository->getPublished() as $podcast) {
        PodcastFeed::addMedia([
            'title'       => $podcast->title,
            'description' => $podcast->title,
            'publish_at'  => $podcast->publish_at,
            'guid'        => route('podcast.show', $podcast->slug),
            'url'         => $podcast->media->url(),
            'type'        => $podcast->media_content_type,
            'duration'    => $podcast->duration,
            'image'       => $podcast->image->url(),
        ]);
    }

    return Response::make(PodcastFeed::toString())
        ->header('Content-Type', 'text/xml');
}
```

Change Log
----------

[](#change-log)

#### v0.2.1

[](#v021)

- Fixes foreign characters like 'æ', 'ø' and 'å'

#### v0.2.0

[](#v020)

- Support Laravel 5

#### v0.1.0

[](#v010)

- First release

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 75% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

934d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1248035?v=4)[Vince Mitchell](/maintainers/vmitchell85)[@vmitchell85](https://github.com/vmitchell85)

---

Top Contributors

[![Torann](https://avatars.githubusercontent.com/u/1406755?v=4)](https://github.com/Torann "Torann (9 commits)")[![vmitchell85](https://avatars.githubusercontent.com/u/1248035?v=4)](https://github.com/vmitchell85 "vmitchell85 (2 commits)")[![ariselseng](https://avatars.githubusercontent.com/u/445843?v=4)](https://github.com/ariselseng "ariselseng (1 commits)")

---

Tags

laravelxmlfeedrsspodcastpodcast generator

### Embed Badge

![Health badge](/badges/krakero-podcastfeed/health.svg)

```
[![Health](https://phpackages.com/badges/krakero-podcastfeed/health.svg)](https://phpackages.com/packages/krakero-podcastfeed)
```

###  Alternatives

[torann/podcastfeed

Generate RSS feeds for podcasts in Laravel 5.

485.9k](/packages/torann-podcastfeed)[phanan/poddle

Parse podcast feeds with PHP following PSP-1 Podcast RSS Standard

1721.4k1](/packages/phanan-poddle)[ultrono/laravel-sitemap

Sitemap generator for Laravel 11, 12 and 13

36412.6k6](/packages/ultrono-laravel-sitemap)[tucker-eric/laravel-xml-middleware

A Laravel Middleware to accept XML requests

181.2M](/packages/tucker-eric-laravel-xml-middleware)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
