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

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

Метод hasArgument класса GenericEvent проверяет наличие аргумента по его имени. Первым параметром передаётся имя аргумента. Метод возвращает true, если аргумент существует, и false в противном случае.

Синтаксис

public function hasArgument(string $key): bool

Пример

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

<?php namespace AppEvent; use SymfonyComponentEventDispatcherGenericEvent; class UserEvent extends GenericEvent { public function __construct(string $subject, array $arguments = []) { parent::__construct($subject, $arguments); } } ?>

Теперь проверим наличие аргумента name:

<?php namespace AppController; use AppEventUserEvent; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class EventController extends AbstractController { #[Route('/event', name: 'event_check')] public function check(): Response { $event = new UserEvent('user', ['name' => 'abcde']); $res = $event->hasArgument('name'); return new Response(var_export($res, true)); } } ?>

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

true

Пример

Давайте проверим наличие несуществующего аргумента email:

<?php namespace AppController; use AppEventUserEvent; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class EventController extends AbstractController { #[Route('/event-missing', name: 'event_missing')] public function missing(): Response { $event = new UserEvent('user', ['name' => 'abcde']); $res = $event->hasArgument('email'); return new Response(var_export($res, true)); } } ?>

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

false

Пример

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

<?php namespace AppEventListener; use AppEventUserEvent; class UserListener { public function onUserEvent(UserEvent $event): void { if ($event->hasArgument('name')) { $name = $event->getArgument('name'); echo 'Name: ' . $name; } else { echo 'Name argument not found'; } } } ?>

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

"Name: abcde"

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

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