Метод getBadge класса Passport
Метод getBadge класса Passport возвращает бейдж,
который был добавлен в паспорт через метод addBadge.
Первым параметром передаётся имя класса бейджа, например
UserBadge или CsrfTokenBadge. Если бейдж
с таким классом не был добавлен, метод возвращает null.
Синтаксис
public function getBadge(string $badgeFqcn): ?BadgeInterface
Пример
Давайте создадим паспорт, добавим в него бейдж и получим его обратно:
<?php
namespace AppSecurity;
use SymfonyComponentSecurityHttpAuthenticatorPassportBadgeUserBadge;
use SymfonyComponentSecurityHttpAuthenticatorPassportPassport;
$userBadge = new UserBadge('abcde');
$passport = new Passport($userBadge);
$res = $passport->getBadge(UserBadge::class);
var_dump($res === $userBadge);
?>
Результат выполнения кода:
true
Пример
Давайте получим бейдж, который не был добавлен в паспорт:
<?php
namespace AppSecurity;
use SymfonyComponentSecurityHttpAuthenticatorPassportBadgeUserBadge;
use SymfonyComponentSecurityHttpAuthenticatorPassportBadgeCsrfTokenBadge;
use SymfonyComponentSecurityHttpAuthenticatorPassportPassport;
$userBadge = new UserBadge('abcde');
$passport = new Passport($userBadge);
$res = $passport->getBadge(CsrfTokenBadge::class);
var_dump($res);
?>
Результат выполнения кода:
NULL