DotZecker / Larafeed by rgomezcasas

Feed (Atom and RSS) generator for any framework
1,076
11
2
Package Data
Maintainer Username: rgomezcasas
Package Create Date: 2013-10-03
Package Last Update: 2016-08-15
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-11-13 15:02:22
Package Statistics
Total Downloads: 1,076
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 11
Total Watchers: 2
Total Forks: 1
Total Open Issues: 0

Larafeed

Total Downloads

Feed (Atom and RSS) generator for any framework

Installation

In order to install execute this command via composer:

composer require dotzecker/larafeed

Usage

It has a very intuitive api. First, we need to instantiate the class (Note that the first argument is the format: atom or rss).

use DotZecker\Larafeed\Larafeed as Feed;

$feed = Feed::make(
    'atom', 
    [
        'title'       => 'My cool blog about my super afro hair',
        'link'        => 'http://rafa.im',
        'lang'        => 'en',
        'feedLink'    => 'http://rafa.im/blog/feed',
        'logo'        => 'http://rafa.im/images/logo.png',
        'icon'        => 'http://rafa.im/favicon.ico',
        'description' => "I'm super awesome and I like to code, do you?"
    ]
);

Or, if you prefer, you can fill it attribute by attribute:

use DotZecker\Larafeed\Larafeed as Feed;

$feed = Feed::make('atom');

$feed->title       = 'My cool blog about my super afro hair';
$feed->link        = 'http://rafa.im';
$feed->description = "I don't say 'Hello World', the World says 'Hello Rafa' to me!";

Then, you can add author(s)

// Only with the name
$feed->addAuthor('Rafael Antonio');

// With full info
$feed->addAuthor(
    [
        'name'  => 'Rafa',
        'email' => 'mail@mail.foo',
        'uri'   => 'http://rafa.im'
    ]
);

Now it's the turn to add the entries. Surely, in your application, it will be inside of a foreach loop.

$feed->addEntry(
    [
        'title'   => 'Mi primer post',
        'link'    => 'http://rafa.im/blog/p/los-labels-y-la-usabilidad',
        'author'  => 'Rafael Antonio Gómez Casas',
        'pubDate' => '2013-03-15',
        'content' => 'Hola, este es mi primer post, Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nihil, quos, reprehenderit, nemo minus consectetur ipsum molestias cumque voluptatum deserunt impedit totam ab aspernatur rem voluptatibus dolore optio distinctio sequi vero harum neque qui suscipit libero deleniti minima repellat recusandae delectus beatae dignissimos corporis quaerat et nesciunt inventore architecto voluptates voluptatem.'
    ]
);

Or you can fill it attribute by attribute:

$entry = $feed->entry();

$entry->title   = 'My super title';
$entry->content = '¿Qué tal? :P Lorem ipsum dolor sit amet, consectetur adipisicing elit. Error, aperiam!';
// $entry->...
$feed->setEntry($entry); // We "inject" the entry

Finally, we return the generated feed, this will return us a Symfony\Component\HttpFoundation\Response instance

return $feed->render();

License

Larafeed is licenced under the MIT license.