External tracking manager

This class manage a trackers list linked to events.
author Damien Jarry
version 1.0
uses Session
uses EventDispatcherInterface
uses ExternalTrackingEvent

 Methods

Constructor Store some variables on the current instance

__construct(\Symfony\Component\HttpFoundation\Session\Session $Session, \Symfony\Component\HttpFoundation\Session\Session $EventDispatcherInterface) : \GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManager

Parameters

$Session

\Symfony\Component\HttpFoundation\Session\Session

A Session instance

$EventDispatcherInterface

\Symfony\Component\HttpFoundation\Session\Session

An EventDispatcherInterface instance

Returns

\GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManagerAn ExternalTrackingManager instance

This method returns the current datas

getData() : array

Returns

arrayThe datas stored in current instance

This method returns the current event used

getEvent() : string

Returns

stringThe current event

This method returns trackers from session

getSessionTrackers() : array

Returns

arrayThe list of trackers in session

This method returns a string with all trackers available for writing.

getTrackersHTML() : string

Returns

stringThe trackers ready to be used on template

This method allows to add data on current instance.

pushData(array $data, boolean $force = false) : \GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManager

Parameters

$data

array

The datas to insert

$force

boolean

Overwrite current datas if TRUE

Returns

\GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManagerAn ExternalTrackingManager instance

This methods store an array of methods for an event

registerEvent(string $event, array $methods) : \GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManager

Parameters

$event

string

The event targeted

$methods

array

The methods to invoke

Returns

\GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManagerAn ExternalTrackingManager instance

This method removes trackers from session

removeSessionTrackers() : \GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManager

Returns

\GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManagerAn ExternalTrackingManager instance

Set the default event

setDefaultEvent(string $event, boolean $force = false) : \GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManager

Parameters

$event

string

The default event to set

$force

boolean

Overwrite the default event if TRUE

Returns

\GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManagerAn ExternalTrackingManager instance

Set the current event

setEvent(string $event, boolean $force = true) : \GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManager

Parameters

$event

string

The event to set

$force

boolean

Overwrite the current event if TRUE

Returns

\GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManagerAn ExternalTrackingManager instance

This method adds available trackers in session

setSessionTrackers() : \GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManager

Returns

\GeekyHouse\ExternalTrackingBundle\Service\ExternalTrackingManagerAn ExternalTrackingManager instance

This returns all methods registered for an event

getMethodsListByEvent(string $event) : array

Parameters

$event

string

The event called

Returns

arrayThe list of methods that have to be called to get trackers

This method returns an array with all trackers available for writing

getTrackers() : array

Returns

arrayThe complete list of trackers that can be used on a template

Returns an array of trackers with their methods.

getTrackersByEvent(string $event) : array

Parameters

$event

string

The event sended

Returns

arrayThe list of trackers (HTML version) for an event that can be used on a template

This method is an array_merge-like for array of trackers

mergeTrackersByEvent(string $event, array $currentTrackers) : array

Parameters

$event

string

The event sended

$currentTrackers

array

The current trackers list to merge in

Returns

arrayThe list of unique trackers for an event

 Properties

 

An EventDispatcherInterface instance

$EventDispatcherInterface : \Symfony\Component\EventDispatcher\EventDispatcherInterface

Default

 

A Session instance

$Session : \Symfony\Component\HttpFoundation\Session\Session

Default

 

The datas available for tracking

$data : string

Default

 

The default event used for tracking

$defaultEvent : string

Default

 

The event used for tracking

$event : string

Default

 

The list of trackers registered

$trackersCollection : array

Default

array()

 Constants

 

<p>SESSION_TRACKER_PREFIX The session key to store trackers</p>

SESSION_TRACKER_PREFIX = '_external_trackers' : string