PHPackages                             imnotjames/syndicator - 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. imnotjames/syndicator

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

imnotjames/syndicator
=====================

Parse and serialize syndicated feeds.

16[3 issues](https://github.com/imnotjames/syndicator/issues)PHP

Since Jun 18Pushed 11y ago1 watchersCompare

[ Source](https://github.com/imnotjames/syndicator)[ Packagist](https://packagist.org/packages/imnotjames/syndicator)[ RSS](/packages/imnotjames-syndicator/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Syndicator
----------

[](#syndicator)

### Basic library to parse and compose syndication feeds.

[](#basic-library-to-parse-and-compose-syndication-feeds)

[![Build Status](https://camo.githubusercontent.com/e61a0a4aa159251511ce9bda6670b8ba7a8a3c49148a02d4b3c358ed8c0123de/68747470733a2f2f7472617669732d63692e6f72672f696d6e6f746a616d65732f73796e64696361746f722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/imnotjames/syndicator)[![Coverage Status](https://camo.githubusercontent.com/e4704a72512aa4a85d364ccf2f2f67f80433fd5266643e01ac1021e82e0746ba/68747470733a2f2f696d672e736869656c64732e696f2f636f766572616c6c732f696d6e6f746a616d65732f73796e64696361746f722e737667)](https://coveralls.io/r/imnotjames/syndicator)

Currently Supported Standards:

- RSS XML 2.0

For any others feel free to open an [issue](https://github.com/imnotjames/syndicator/issues).

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

[](#installation)

The easiest method of installation is with [composer](http://getcomposer.org), on [packagist](https://packagist.org/packages/imnotjames/syndicator).

Usage
-----

[](#usage)

Composition of Syndication feeds:

```
use imnotjames\Syndicator\Article;
use imnotjames\Syndicator\Feed;
use imnotjames\Syndicator\Logo;
use imnotjames\Syndicator\Serializers\RSSXML;

$feed = new Feed(
	'My Rad Feed',
	'This feed is the coolest feed out there.',
	'https://github.com/imnotjames/syndicator'
);

$feed->setLogo(new Logo('http://i.imgur.com/haED2k7.jpg'));

$feed->setGenerator('Coolness Generator v95000');

$feed->setCacheTimeToLive(42);

$article = new Article();

$article->setTitle('How to be cool');
$article->setDescription('Step 1.  Be cool.  Step 2.  Don\'t be not cool.');
$article->setURI('http://example.com/blog/how-to-be-cool');

$feed->addArticle($article);

$serializer = new RSSXML();

$xml = $serializer->serialize($feed);
```

And decomposition:

```
use imnotjames\Syndicator\Parsers\RSSXML;

$parser = new RSSXML();

$feed = $parser->parse(file_get_contents('awesome_feed.xml'));

printf("Title: %s\n\n", $feed->getTitle());

echo "Articles:\n";

foreach ($feed as $article) {
	printf("\tTitle: %s", $article->getTitle());
	echo "\n";
}
```

License
-------

[](#license)

[MIT License](http://opensource.org/licenses/MIT)

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d856173bde55dfea1af31eacd0677a01f2eb44c0f8b2ebaf406c5c1c6dc8d5f3?d=identicon)[imnotjames](/maintainers/imnotjames)

---

Top Contributors

[![imnotjames](https://avatars.githubusercontent.com/u/1551593?v=4)](https://github.com/imnotjames "imnotjames (132 commits)")

### Embed Badge

![Health badge](/badges/imnotjames-syndicator/health.svg)

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

###  Alternatives

[mtdowling/jmespath.php

Declaratively specify how to extract elements from a JSON document

2.0k472.8M135](/packages/mtdowling-jmespathphp)[opis/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary data.

2.6k230.0M284](/packages/opis-closure)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M228](/packages/masterminds-html5)[sabberworm/php-css-parser

Parser for CSS Files written in PHP

1.8k191.2M65](/packages/sabberworm-php-css-parser)[michelf/php-markdown

PHP Markdown

3.5k52.4M345](/packages/michelf-php-markdown)[jms/metadata

Class/method/property metadata management in PHP

1.8k152.8M88](/packages/jms-metadata)

PHPackages © 2026

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