Download the PHP package atelierspierrot/event-manager without Composer
On this page you can find all versions of the php package atelierspierrot/event-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download atelierspierrot/event-manager
More information about atelierspierrot/event-manager
Files in atelierspierrot/event-manager
Package event-manager
Short Description The events manager package of Les Ateliers Pierrot.
License Apache-2.0
Homepage http://github.com/atelierspierrot/event-manager
Informations about the package event-manager
Event manager
The events manager package of Les Ateliers Pierrot
Installation
For a complete information about how to install this package and load its namespace, please have a look at our USAGE documentation.
If you are a Composer user, just add the package to the
requirements of your project's composer.json
manifest file:
You can use a specific release or the latest release of a major version using the appropriate version constraint.
Please note that this package depends on the externals PHP Patterns and PHP Library.
SPL interfaces
As a reminder, the SPL observer objects are:
Basics
The basic idea of an event propagation system in PHP is quite simple:
- an object
A
can trigger some events during its life-cycle (to inform about an update for instance) ; - an object
B
can adapt its properties or behaviors when the objectA
triggered an event (to keep the last value of a property ofA
for instance).
This can be implemented with an observer/observable system where the object A
of the example above is observable while the B
is its observer. Basically,
the observable can be considered as an SplSubject
as defined in the SPL interfaces
above while the observer can be considered as an SplObserver
. But the standard
system (the SPL interfaces) only allows one single event to be triggered (or multiple
events handled by the same method of the observer). We could use this basic definitions
of event triggering but it forces the implementations to make a switch
if the observable
can trigger different events ...
The implementation in the library is ready to handle multiple events triggering
allowing the observers to define the method that should be called when an event is
fired. This method defaults to handleEvent()
. To do so, the SplObserver
interface
is renamed (and rewritten) as the ObserverInterface
and the SplSubject
as the ObservableInterface
. The event is a standalone object implementing the
EventInterface
:
Events manager
A kernel object is defined to handle a set of events listeners/observers
for a global application: the EventManager
object. It introduces two new
concepts: the listeners and the subscribers.
Basically, a listener is like an observer, it references itself to the object triggering the event it want to observe, a subscriber does not references itself to each events it wants to listen, but to the global events manager, that asks it the list of events it may listen:
Author & License
Event Manager
http://github.com/atelierspierrot/event-manager
Copyright (c) 2015-2016 Pierre Cassat and contributors
Licensed under the Apache 2 license.
http://www.apache.org/licenses/LICENSE-2.0
Les Ateliers Pierrot - Paris, France
All versions of event-manager with dependencies
atelierspierrot/patterns Version ~1.0.9
atelierspierrot/library Version 2.0.0-BETA