<?php
declare(strict_types=1);
namespace WebBundle\Handler\Locale;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use WebBundle\Handler\Locale\Rule\CheckJobSiteRuleHandler;
use WebBundle\Service\LocationService;
class LocaleHandler
{
private Request $request;
private LocationService $locationService;
public function __construct(Request $request, LocationService $locationService)
{
$this->request = $request;
$this->locationService = $locationService;
}
/**
* Задаём цепочку обработчиков запроса и запускаем
*
* @return Response|null
*/
public function do(): ?Response
{
$machineLocale = new MachineLocaleHandler($this->request, $this->locationService);
// Начальное правило, т.е. if - далее само решит что делать и какое правило запускать
$handlers = CheckJobSiteRuleHandler::getRule($machineLocale);
$handlers->setMachineLocale($machineLocale);
return $handlers->execute();
}
}