Documentation

WebProcessor extends WebProcessor
in package
implements EventSubscriberInterface

WebProcessor override to read from the HttpFoundation's Request.

Tags
author

Jordi Boggiano j.boggiano@seld.be

final

Table of Contents

Interfaces

EventSubscriberInterface
An EventSubscriber knows itself what events it is interested in.

Properties

$extraFields  : array<string, string>
Default fields
$serverData  : array<string, mixed>|ArrayAccess<string, mixed>

Methods

__construct()  : mixed
__invoke()  : array<string|int, mixed>
addExtraField()  : self
getSubscribedEvents()  : array<string, string|array{0: string, 1: int}|array<int, array{0: string, 1?: int}>>
Returns an array of event names this subscriber wants to listen to.
onKernelRequest()  : mixed
appendExtraFields()  : array<string|int, mixed>

Properties

$extraFields

Default fields

protected array<string, string> $extraFields = ['url' => 'REQUEST_URI', 'ip' => 'REMOTE_ADDR', 'http_method' => 'REQUEST_METHOD', 'server' => 'SERVER_NAME', 'referrer' => 'HTTP_REFERER', 'user_agent' => 'HTTP_USER_AGENT']

Array is structured as [key in record.extra => key in $serverData]

$serverData

protected array<string, mixed>|ArrayAccess<string, mixed> $serverData

Methods

__construct()

public __construct([array<string|int, mixed> $extraFields = null ]) : mixed
Parameters
$extraFields : array<string|int, mixed> = null

Field names and the related key inside $serverData to be added (or just a list of field names to use the default configured $serverData mapping). If not provided it defaults to: [url, ip, http_method, server, referrer] + unique_id if present in server data

__invoke()

public __invoke(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
$record : array<string|int, mixed>
Return values
array<string|int, mixed>

The processed record

addExtraField()

public addExtraField(string $extraName, string $serverName) : self
Parameters
$extraName : string
$serverName : string
Return values
self

getSubscribedEvents()

Returns an array of event names this subscriber wants to listen to.

public static getSubscribedEvents() : array<string, string|array{0: string, 1: int}|array<int, array{0: string, 1?: int}>>

The array keys are event names and the value can be:

  • The method name to call (priority defaults to 0)
  • An array composed of the method name to call and the priority
  • An array of arrays composed of the method names to call and respective priorities, or 0 if unset

For instance:

  • ['eventName' => 'methodName']
  • ['eventName' => ['methodName', $priority]]
  • ['eventName' => [['methodName1', $priority], ['methodName2']]]

The code must not depend on runtime state as it will only be called at compile time. All logic depending on runtime state must be put into the individual methods handling the events.

Return values
array<string, string|array{0: string, 1: int}|array<int, array{0: string, 1?: int}>>

appendExtraFields()

private appendExtraFields(array<string|int, mixed> $extra) : array<string|int, mixed>
Parameters
$extra : array<string|int, mixed>
Return values
array<string|int, mixed>

        
On this page

Search results