Standalone library to create timelines

Installs: 385 265

Dependents: 4

Suggesters: 0

Security: 0

Stars: 89

Watchers: 6

Forks: 18

Open Issues: 1


v1.2.0 2019-06-20 07:33 UTC

This package is auto-updated.

Last update: 2022-06-20 13:45:26 UTC


Standalone library to make timeline with php.

At this moment, only one driver is redis, use Symfony2 and Bundle to have other drivers.


A timeline is a collection of actions which can be represented by:

  • Subject
  • Verb
  • Complements (directComplement, indirectComplement, etc...)


Subject Verb Complements
Chuck Norris owns the world (directComplement), with Vic Mc Key (indirectComplement)
Sheldon says Bazinga (directComplement)

There are two types of action lists to retrieve:


Stream of actions where the subject is involved + all actions of its spreads, see spread.rst


All actions the subject performed.


Imagine Chuck Norris has 233 friends and follow 20 companies.

If we have one context, like facebook, his wall will return each action performed by his friends and companies.

You can also use Contexts to filter timelines, for example, we can have 3 contexts:

  • GLOBAL: actions of his friends and companies
  • FRIEND: actions of his friends
  • COMPANIES: actions of his companies

You can define as many contexts as you want. If you have only one context, you'll get each action without being able to easily filter them to return only "OWN" actions or have only actions performed by ChuckNorris' friends

That's why we have a "GLOBAL" context, and you can easily add other contexts.


Use Composer to install: stephpy/timeline.

In your composer.json you should have:

    "require": {
        "stephpy/timeline": "~1.0.0",
        "pimple/pimple": "*"

Pimple is not mandatory but if you use this library without the bundle, it'll be really easier.


Timeline uses php >=5.3.2.


Unit Tests

You can run tests with:

bin/atoum -d tests/units


Thanks to all timeline contributors and bundle contributors.