silexphp/Silex — pull request #844 by fabpot (2013-11-04 09:05:22+00:00)
Title: [2.0] added a new interface for providers willing to register event listeners

In our quest to decouple service providers from Silex in order to make them reusable in other contexts like non-web contexts (see #352), the first step I propose to do is to add a new interface for providers willing to register event listeners. That way, you can call the `subscribe()` method if you have a dispatcher, and just ignore it otherwise.

The ultimate goal of course is to keep only what is Silex/Web specific in the boot method.

This is (a better) alternative to #836.

If we have a look at the service providers after this PR, the only ones with something in their `boot()` method (2 out of 15) are the following:

* `Monolog`: calls to `before`, `error`, and `after` (everything is related to the Web)
* `Security`: mounting of the fake firewall routes (web related)