РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
754 of 1361 menu

Метод getArgument класса GenericEvent

Метод getArgument класса GenericEvent возвращает значение аргумента события по его имени. Первым параметром передаётся имя аргумента в виде строки. Если аргумент с таким именем не был установлен, метод выбрасывает исключение InvalidArgumentException. Класс GenericEvent позволяет хранить произвольные данные о событии в виде пары ключ-значение.

Синтаксис

public function getArgument(string $key): mixed

Пример

Давайте создадим событие, установим аргумент 'user' и получим его значение:

<?php namespace AppService; use SymfonyComponentEventDispatcherGenericEvent; class ArticleService { public function process(): void { $event = new GenericEvent(); $event->setArgument('user', 'abcde'); echo $event->getArgument('user'); } } ?>

Результат выполнения кода:

"abcde"

Пример

Давайте передадим массив аргументов в конструктор события и получим один из них:

<?php namespace AppService; use SymfonyComponentEventDispatcherGenericEvent; class ArticleService { public function process(): void { $event = new GenericEvent(null, ['id' => 1, 'title' => 'hello']); echo $event->getArgument('title'); } } ?>

Результат выполнения кода:

"hello"

Пример

Давайте получим аргумент внутри слушателя события:

<?php namespace AppService; use SymfonyComponentEventDispatcherEventDispatcher; use SymfonyComponentEventDispatcherGenericEvent; class ArticleService { public function process(): void { $dispatcher = new EventDispatcher(); $dispatcher->addListener('article.event', function (GenericEvent $event): void { echo $event->getArgument('user'); }); $event = new GenericEvent(null, ['user' => 'abcde']); $dispatcher->dispatch($event, 'article.event'); } } ?>

Результат выполнения кода:

"abcde"

Смотрите также

  • класс GenericEvent,
    который представляет произвольное событие
  • метод setArgument,
    который устанавливает аргумент события
  • метод hasArgument,
    который проверяет наличие аргумента
  • метод getArguments,
    который возвращает все аргументы события
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить