class GenericEvent
Event encapsulation class.
Encapsulates events thus decoupling the observer from the subject they encapsulate.
@author Drak <drak@zikula.org>
@implements \ArrayAccess<string, mixed> @implements \IteratorAggregate<string, mixed>
Hierarchy
- class \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface
- class \Symfony\Component\EventDispatcher\GenericEvent extends \Symfony\Contracts\EventDispatcher\Event implements \Symfony\Component\EventDispatcher\ArrayAccess, \Symfony\Component\EventDispatcher\IteratorAggregate
Expanded class hierarchy of GenericEvent
File
-
vendor/
symfony/ event-dispatcher/ GenericEvent.php, line 26
Namespace
Symfony\Component\EventDispatcherView source
class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate {
/**
* Encapsulate an event with $subject and $arguments.
*
* @param mixed $subject The subject of the event, usually an object or a callable
* @param array $arguments Arguments to store in the event
*/
public function __construct(mixed $subject = null, array $arguments = []) {
}
/**
* Getter for subject property.
*/
public function getSubject() : mixed {
return $this->subject;
}
/**
* Get argument by key.
*
* @throws \InvalidArgumentException if key is not found
*/
public function getArgument(string $key) : mixed {
if ($this->hasArgument($key)) {
return $this->arguments[$key];
}
throw new \InvalidArgumentException(\sprintf('Argument "%s" not found.', $key));
}
/**
* Add argument to event.
*
* @return $this
*/
public function setArgument(string $key, mixed $value) : static {
$this->arguments[$key] = $value;
return $this;
}
/**
* Getter for all arguments.
*/
public function getArguments() : array {
return $this->arguments;
}
/**
* Set args property.
*
* @return $this
*/
public function setArguments(array $args = []) : static {
$this->arguments = $args;
return $this;
}
/**
* Has argument.
*/
public function hasArgument(string $key) : bool {
return \array_key_exists($key, $this->arguments);
}
/**
* ArrayAccess for argument getter.
*
* @param string $key Array key
*
* @throws \InvalidArgumentException if key does not exist in $this->args
*/
public function offsetGet(mixed $key) : mixed {
return $this->getArgument($key);
}
/**
* ArrayAccess for argument setter.
*
* @param string $key Array key to set
*/
public function offsetSet(mixed $key, mixed $value) : void {
$this->setArgument($key, $value);
}
/**
* ArrayAccess for unset argument.
*
* @param string $key Array key
*/
public function offsetUnset(mixed $key) : void {
if ($this->hasArgument($key)) {
unset($this->arguments[$key]);
}
}
/**
* ArrayAccess has argument.
*
* @param string $key Array key
*/
public function offsetExists(mixed $key) : bool {
return $this->hasArgument($key);
}
/**
* IteratorAggregate for iterating over the object like an array.
*
* @return \ArrayIterator<string, mixed>
*/
public function getIterator() : \ArrayIterator {
return new \ArrayIterator($this->arguments);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
Event::$propagationStopped | private | property | |||
Event::isPropagationStopped | public | function | Is propagation stopped? | Overrides StoppableEventInterface::isPropagationStopped | |
Event::stopPropagation | public | function | Stops the propagation of the event to further event listeners. | 1 | |
GenericEvent::getArgument | public | function | Get argument by key. | ||
GenericEvent::getArguments | public | function | Getter for all arguments. | ||
GenericEvent::getIterator | public | function | IteratorAggregate for iterating over the object like an array. | ||
GenericEvent::getSubject | public | function | Getter for subject property. | ||
GenericEvent::hasArgument | public | function | Has argument. | ||
GenericEvent::offsetExists | public | function | ArrayAccess has argument. | ||
GenericEvent::offsetGet | public | function | ArrayAccess for argument getter. | ||
GenericEvent::offsetSet | public | function | ArrayAccess for argument setter. | ||
GenericEvent::offsetUnset | public | function | ArrayAccess for unset argument. | ||
GenericEvent::setArgument | public | function | Add argument to event. | ||
GenericEvent::setArguments | public | function | Set args property. | ||
GenericEvent::__construct | public | function | Encapsulate an event with $subject and $arguments. |