Notice : fwrite(): Write of 350 bytes failed with errno=122 Disk quota exceeded in /home/bestofi/bestof/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 159
Symfony Profiler
vendor/symfony/http-kernel/EventListener/LocaleAwareListener.php line 40
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\HttpKernel\EventListener ;
use Symfony\Component\EventDispatcher\EventSubscriberInterface ;
use Symfony\Component\HttpFoundation\RequestStack ;
use Symfony\Component\HttpKernel\Event\FinishRequestEvent ;
use Symfony\Component\HttpKernel\Event\RequestEvent ;
use Symfony\Component\HttpKernel\KernelEvents ;
use Symfony\Contracts\Translation\LocaleAwareInterface ;
/**
* Pass the current locale to the provided services.
*
* @author Pierre Bobiet <pierrebobiet@gmail.com>
*/
class LocaleAwareListener implements EventSubscriberInterface
{
private iterable $localeAwareServices ;
private RequestStack $requestStack ;
/**
* @param iterable<mixed, LocaleAwareInterface> $localeAwareServices
*/
public function __construct ( iterable $localeAwareServices , RequestStack $requestStack )
{
$this -> localeAwareServices = $localeAwareServices ;
$this -> requestStack = $requestStack ;
}
public function onKernelRequest ( RequestEvent $event ): void
{
$this -> setLocale ( $event -> getRequest ()-> getLocale (), $event -> getRequest ()-> getDefaultLocale ());
}
public function onKernelFinishRequest ( FinishRequestEvent $event ): void
{
if ( null === $parentRequest = $this -> requestStack -> getParentRequest ()) {
foreach ( $this -> localeAwareServices as $service ) {
$service -> setLocale ( $event -> getRequest ()-> getDefaultLocale ());
}
return;
}
$this -> setLocale ( $parentRequest -> getLocale (), $parentRequest -> getDefaultLocale ());
}
public static function getSubscribedEvents (): array
{
return [
// must be registered after the Locale listener
KernelEvents :: REQUEST => [[ 'onKernelRequest' , 15 ]],
KernelEvents :: FINISH_REQUEST => [[ 'onKernelFinishRequest' , - 15 ]],
];
}
private function setLocale ( string $locale , string $defaultLocale ): void
{
foreach ( $this -> localeAwareServices as $service ) {
try {
$service -> setLocale ( $locale );
} catch ( \InvalidArgumentException ) {
$service -> setLocale ( $defaultLocale );
}
}
}
}