GetIconEvent

Extends AbstractImmutableEvent Implements ResultAwareInterface

Event class for the onGetIcon event.

since

4.2.0

package

Joomla CMS

Methods

__construct

Constructor. Overridden to go through the argument setters.

__construct(string name, array arguments = []) : mixed
inherited
since

4.0.0

Arguments

name

stringThe event name.

arguments

arrayThe event arguments.

Response

mixed

addResult

Appends data to the result array of the event.

addResult(mixed data) : void
inherited
since

4.2.0

Arguments

data

mixedWhat to add to the result array.

create

Creates a new CMS event object for a given event name and subject. The following arguments must be given: subject object The subject of the event. This is the core object you are going to manipulate.

create(string eventName, array arguments = []) : static
inherited static

eventClass string The Event class name. If you do not provide it Joomla\CMS\Events<eventNameWithoutOnPrefix> will be used.

since

4.0.0

throws

\BadMethodCallExceptionIf you do not provide a subject argument

Arguments

eventName

stringThe name of the event, e.g. onTableBeforeLoad

arguments

arrayAdditional arguments to pass to the event

Response

static

getArgument

Get an event argument value. It will use a getter method if one exists. The getters have the signature:

getArgument(string name, mixed default = null) : mixed
inherited

get<ArgumentName>($value): mixed

where:

$value is the value currently stored in the $arguments array of the event It returns the value to return to the caller.

since

4.0.0

Arguments

name

stringThe argument name.

default

mixedThe default value if not found.

Response

mixedThe argument value or the default value.

getEventClassByEventName

Get the concrete event class name for the given event name.

getEventClassByEventName(string eventName) : string
inherited static

This method falls back to the generic Joomla\Event\Event class if the event name is unknown to this trait.

since

4.2.0

Arguments

eventName

stringThe event name

Response

stringThe event class name

offsetSet

Set the value of an event argument.

offsetSet(string name, mixed value) : void
inherited
since

4.0.0

throws

\BadMethodCallException

Arguments

name

stringThe argument name.

value

mixedThe argument value.

offsetUnset

Remove an event argument.

offsetUnset(string name) : void
inherited
since

4.0.0

throws

\BadMethodCallException

Arguments

name

stringThe argument name.

reshapeArguments

Reshape the arguments array to preserve b/c with legacy listeners

reshapeArguments(array arguments, array argumentNames, array defaults = []) : array
inherited
since

4.2.0

Arguments

arguments

arrayThe named arguments array passed to the constructor.

argumentNames

arrayThe allowed argument names (mandatory AND optional).

defaults

arrayDefault values for optional arguments.

Response

arrayThe reshaped arguments.

setArgument

Add argument to event. It will use a setter method if one exists. The setters have the signature:

setArgument(string name, mixed value) : $this
inherited

set<ArgumentName>($value): mixed

where:

$value is the value being set by the user It returns the value to return to set in the $arguments array of the event.

since

4.0.0

Arguments

name

stringArgument name.

value

mixedValue.

Response

$this

setContext

A method to validate the 'context' named parameter.

setContext(string value) : void
since

4.2.0

Arguments

value

stringThe calling context for retrieving icons.

setResult

Handle setting the result argument directly.

setResult(array value) : array
inherited

This method serves a dual purpose: backwards compatibility and enforcing the use of addResult.

When $this->preventSetArgumentResult is false it acts as a backwards compatibility shim for event handlers expecting generic event classes instead of the concrete Events implemented in this package. This allows the migration to concrete event classes throughout the lifetime of Joomla 4.x.

When $this->preventSetArgumentResult is false (which will always be the case on Joomla 5.0) it will throw a BadMethodCallException if the developer tries to call setArgument('result', ...) instead of going through the addResult() method.

since

4.2.0

Arguments

value

arrayThe new result array.

Response

array

Properties

preventSetArgumentResult

Disallow setting the result argument directly with setArgument() instead of going through addResult().

inherited deprecated

You should set this to true ONLY for event names which did NOT exist before Joomla 4.2.0 or if you are a third party developer introducing new event names for use only in your software.

since

4.2.0

deprecated

4.3 will be removed in 6.0 Using setResult() for the result argument will always be disallowed.

Type(s)

bool

resultIsNullable

Can the result attribute values also be NULL?

inherited
since

4.2.0

Type(s)

bool

resultIsFalseable

Can the result attribute values also be boolean FALSE?

inherited deprecated
since

4.2.0

deprecated

4.3 will be removed in 6.0 You should use nullable values or exceptions instead of returning boolean false results.

Type(s)

bool

constructed

A flag to see if the constructor has been already called.

inherited
since

4.0.0

Type(s)

bool

eventNameToConcreteClass

Maps event names to concrete Event classes.

inherited static

This is only for events with invariable names. Events with variable names are handled with PHP logic in the getEventClassByEventName class.

since

4.2.0

Type(s)

array