<?php
// src/EventListener/ExceptionListener.php
namespace App\EventListener;
use App\Entity\System\Exception;
use App\Entity\Security\Users;
use App\Services\TestService;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
use Doctrine\ORM\Event\LifecycleEventArgs;
use Psr\Log\LoggerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\KernelEvents;
class ExceptionListener
{
/*private $logger;
public function __construct(LoggerInterface $logger)
{
$this->logger = $logger;
}*/
public function onKernelException(ExceptionEvent $event)
{
// You get the exception object from the received event
$exception = $event->getThrowable();
//Manager::Exception($exception);
//$users = $this->getDoctrine()->getRepository(Users::class)->findAll();
//$users = $em->getRepository(Users::class)->findAll();
//dump($users);
//echo $exception->getMessage();
//die();
/*
$em = $this->em->get('doctrine')->getManager();
$ExceptionC = new Exception();
$ExceptionC->setCodeError($exception->getCode());
$ExceptionC->setMessage($exception->getMessage());
// $ExceptionC->setUtilisateur($Utilisateur);
$ExceptionC->setDateIncident(new \DateTime());
$em->persist($ExceptionC);
$em->flush();*/
/* $message = sprintf(
'My Error says: %s with code: %s',
$exception->getMessage(),
$exception->getCode()
);
//die();
// Customize your response object to display the exception details
$response = new Response();
$response->setContent($message);
// HttpExceptionInterface is a special type of exception that
// holds status code and header details
if ($exception instanceof HttpExceptionInterface) {
$response->setStatusCode($exception->getStatusCode());
$response->headers->replace($exception->getHeaders());
} else {
$response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);
}
// sends the modified response object to the event
$event->setResponse($response);
*/
}
}