19declare(strict_types=1);
23use Psr\Http\Message\ServerRequestInterface;
40 throw new \InvalidArgumentException(
'Providers must be passed as list');
55 $this->
logger->debug(
'Trying to resolve username using provider {provider} with prio {priority}', [
56 'provider' => $provider::class,
60 $username =
$provider->getUsername($request);
62 if (!$username->isEmpty()) {
63 $this->
logger->debug(
'Username resolved to {username} by provider {provider}', [
64 'username' => $username->asString(),
65 'provider' => $provider::class,
71 $this->
logger->debug(
'Provider {provider} could not resolve a username', [
72 'provider' => $provider::class,
76 $this->
logger->debug(
'No username could be resolved by any provider, returning NullUsername');
Resolves a username by selecting the first provider (by descending priority) that returns a non-empty...
__construct(array $providers, private readonly \ilLogger $logger)
resolve(ServerRequestInterface $request)
Component logger with individual log levels by component id.
Implementations may represent a resolved, concrete username or a null/empty value.
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples