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

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

Метод getArguments класса GenericEvent возвращает все аргументы события в виде ассоциативного массива. Класс GenericEvent используется в компоненте EventDispatcher для передачи произвольных данных вместе с событием. Аргументы задаются при создании события и могут быть изменены через метод setArgument. Метод getArguments не принимает параметров и возвращает массив, где ключами являются имена аргументов, а значениями - их значения.

Синтаксис

public function getArguments(): array

Пример

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

<?php namespace AppEvent; use SymfonyComponentEventDispatcherGenericEvent; class ExampleEvent { public function createEvent(): GenericEvent { $subject = new stdClass(); $arguments = ['name' => 'abcde', 'age' => 25]; return new GenericEvent($subject, $arguments); } } ?>

Теперь получим все аргументы события:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentEventDispatcherGenericEvent; class EventController extends AbstractController { public function index(): Response { $subject = new stdClass(); $event = new GenericEvent($subject, ['name' => 'abcde', 'age' => 25]); $res = $event->getArguments(); return new Response(json_encode($res)); } } ?>

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

{"name":"abcde","age":25}

Пример

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

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentEventDispatcherGenericEvent; class EventController extends AbstractController { public function index(): Response { $subject = new stdClass(); $event = new GenericEvent($subject, ['name' => 'abcde', 'age' => 25]); $event->setArgument('age', 30); $res = $event->getArguments(); return new Response(json_encode($res)); } } ?>

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

{"name":"abcde","age":30}

Пример

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

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentEventDispatcherGenericEvent; class EventController extends AbstractController { public function index(): Response { $subject = new stdClass(); $event = new GenericEvent($subject); $res = $event->getArguments(); return new Response(json_encode($res)); } } ?>

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

[]

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

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