<?php
namespace App\Service\Common\Formatter\Listener;
use App\Service\Common\Formatter\Container;
use App\Service\Common\Formatter\Contract\IFormatter;
use Symfony\Component\Console\Event\ConsoleCommandEvent;
use Symfony\Component\HttpKernel\Event\RequestEvent;
class ContainerInitListener
{
/**
* @var IFormatter
*/
private IFormatter $formatter;
/**
* ContainerInitListener constructor.
*
* @param IFormatter $formatter
*/
public function __construct(IFormatter $formatter)
{
$this->formatter = $formatter;
}
/**
* On kernel request
*
* @param RequestEvent $event
*/
public function onKernelRequest(RequestEvent $event): void
{
$this->init();
}
/**
* On command request
*
* @param ConsoleCommandEvent $event
*/
public function onCommandRequest(ConsoleCommandEvent $event): void
{
$this->init();
}
/**
* Init container
*
* @return void
*/
private function init(): void
{
Container::init($this->formatter);
}
}