\Phabstractic\EventActor

The Actor Class

This class combines the functionality of a filter with a handler.

The object is presented with various events using notify, but only events that meet the criteria of the filter actually make the handler fire

CHANGELOG

1.0 Created Actor - August 16th, 2013 2.0 Integrated Primus 2 Changed Handler to ObserverInterface - October 14th, 2015 3.0: included set methods removed subject from constructor eliminated destructor reformatted for inclusion in phabstarctic - July 30th, 2016

Summary

Methods
Properties
Constants
detachPublisher()
attachPublisher()
unlinkFromPublishers()
getPublishers()
notifyObserver()
__debugInfo()
getFilter()
setFilter()
getHandler()
setHandler()
__construct()
No public properties found
No constants found
constructObservedSubjects()
$observedSubjects
$filter
$handler
N/A
No private methods found
No private properties found
N/A

Properties

$observedSubjects

$observedSubjects : \Phabstractic\Patterns\Phabstractic\Patterns\Resource\PublisherInterface

The subjects that this observer is listening to

For an observer that listens to multiple publishers with some added functionality see Phabstractic\Event\Aggregator

Type

\Phabstractic\Patterns\Phabstractic\Patterns\Resource\PublisherInterface

$filter

$filter : \Phabstractic\Event\Phabstractic\Event\Filter

The filter object (predicate)

This object identifies which events are acted upon

Type

\Phabstractic\Event\Phabstractic\Event\Filter

$handler

$handler : \Phabstractic\Event\Phabstractic\Event\Handler

The handler object

This contains what HAPPENS if the event is fired

Type

\Phabstractic\Event\Phabstractic\Event\Handler

Methods

detachPublisher()

detachPublisher(\Phabstractic\Patterns\Resource\PublisherInterface  $publisher) 

This detaches the observer from its subject

Reciprocal methods exist in the publisher

Parameters

\Phabstractic\Patterns\Resource\PublisherInterface $publisher

attachPublisher()

attachPublisher(\Phabstractic\Patterns\Resource\PublisherInterface  $publisher) 

Attach this observer to a new publisher

This also acts like a 'set' function, and null is an acceptable value to be passed

Parameters

\Phabstractic\Patterns\Resource\PublisherInterface $publisher

unlinkFromPublishers()

unlinkFromPublishers() 

Remove this observer from all publishers

getPublishers()

getPublishers() : array

Return array of publishers

Returns

array

__debugInfo()

__debugInfo() 

Debug Info (var_dump)

Display debug info

Requires PHP 5.6+

getFilter()

getFilter() : \Phabstractic\Event\Phabstractic\Event\Filter

Retrieve the actor's filter object

Returns

\Phabstractic\Event\Phabstractic\Event\Filter

getHandler()

getHandler() : \Phabstractic\Event\Phabstractic\Event\Handler

Set the actor's handler

Returns

\Phabstractic\Event\Phabstractic\Event\Handler

setHandler()

setHandler(\Phabstractic\Event\Handler  $handler) 

Retrieve the actor's handler

Parameters

\Phabstractic\Event\Handler $handler

__construct()

__construct(\Phabstractic\Event\Phabstractic\Event\Filter  $filter = null, \Phabstractic\Event\Phabstractic\Event\Handler  $handler = null) 

The Actor Class Constructor

The actor class IS an observer, so we make sure we got that covered

This is where the filter and handler are generally set

Parameters

\Phabstractic\Event\Phabstractic\Event\Filter $filter

The filter to employ

\Phabstractic\Event\Phabstractic\Event\Handler $handler

The handler to employ

constructObservedSubjects()

constructObservedSubjects() 

Make sure $this->observedSubjects has been constructed