We had another good call with most of the Working Group present. This time we
went over several trial implementations that various Working Group members
have built, to varying levels of completeness. They're available here
(although their workingness at any given moment is not guaranteed, as the spec
evolves):
Larry:
https://github.com/Crell/Tukio
Benni:
https://github.com/bmack/kart
Cees-Jan:
https://github.com/wyrihaximus/php-broadcast
Matthew:
https://github.com/phly/phly-event-dispatcher
On the whole we're pretty happy with where things are, although we did come up
with a number of additional spec tweeks to make. The biggest is changing the
namespace of the package to Psr\EventDispatcher (rather than Psr\Event
\Dispatcher). We're going to continue to do another round of implementing; in
particular, Liz Smith is working on an event driven CLI app and Cees-Jan has
agreed to try a Promise-as-Event implementation to make sure it works. (It
should, but better to actually do it.)
We've also started building a util library to go along with the spec, which is
available here:
https://github.com/php-fig/event-dispatcher-util
Open questions are mostly around error handling minutia. The big one is
whether it's appropriate, inappropriate, or required to have an ErrorEvent
that is also itself an Exception, and thus can be thrown.
For those following along at home, the latest code for the spec interfaces is
here:
https://github.com/php-fig/event-dispatcher
And you should use the 0.4.0 tag for the latest version.
On the agenda for next time is what, if any, optional interfaces we include in
the util package for registering listeners in providers manually (which is the
most common case), and what they should support.
--Larry Garfield
PSR-14 Editor