```
🔥 refactor: Supprime le compresseur HTML et son event listener.
```
This commit is contained in:
@@ -25,6 +25,7 @@ class LocaleListener implements EventSubscriberInterface
|
||||
*/
|
||||
public function onKernelRequest(RequestEvent $event)
|
||||
{
|
||||
/*
|
||||
$request = $event->getRequest();
|
||||
|
||||
// Si ce n'est pas la requête principale (par exemple, un sous-requête pour un contrôleur embarqué), on ne fait rien.
|
||||
@@ -54,6 +55,7 @@ class LocaleListener implements EventSubscriberInterface
|
||||
|
||||
// Définir la locale sur la requête.
|
||||
$request->setLocale($locale);
|
||||
*/
|
||||
}
|
||||
|
||||
public static function getSubscribedEvents()
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\EventSubscriber;
|
||||
use App\Service\Compressor\HtmlCompressor;
|
||||
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
|
||||
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
|
||||
use Symfony\Component\HttpKernel\Event\ResponseEvent;
|
||||
|
||||
#[AsEventListener(event: ResponseEvent::class, method: 'onResponse', priority: 10)]
|
||||
class RequestSubscriber
|
||||
{
|
||||
public function __construct(private HtmlCompressor $htmlCompressor)
|
||||
{
|
||||
}
|
||||
|
||||
public function onResponse(ResponseEvent $event): void
|
||||
{
|
||||
if($_ENV['APP_ENV'] == "prod") {
|
||||
$response = $event->getResponse();
|
||||
$response->setContent($this->htmlCompressor->compress($response->getContent()));
|
||||
$event->setResponse($response);
|
||||
$event->stopPropagation();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Service\Compressor;
|
||||
|
||||
/**
|
||||
* Classe HtmlCompressor
|
||||
* Permet de minifier le contenu HTML en supprimant les commentaires et les espaces
|
||||
* inutiles entre les balises.
|
||||
*/
|
||||
class HtmlCompressor
|
||||
{
|
||||
/**
|
||||
* Minifie une chaîne de caractères contenant du HTML.
|
||||
* * Cette méthode effectue les étapes suivantes :
|
||||
* 1. Suppression des commentaires HTML (sauf les commentaires conditionnels IE).
|
||||
* 2. Suppression des sauts de ligne, retours chariot et tabulations.
|
||||
* 3. Suppression des espaces multiples.
|
||||
* 4. Suppression des espaces autour des balises (entre > et <).
|
||||
*
|
||||
* @param string $html Le contenu HTML à minifier.
|
||||
* @return string Le contenu HTML minifié.
|
||||
*/
|
||||
public function compress(string $html): string
|
||||
{
|
||||
// 1. Supprime les commentaires HTML, tout en préservant les commentaires conditionnels (<!--[if ...)
|
||||
$html = preg_replace('/<!--(?!\[if|<!\[endif).*?-->/s', '', $html);
|
||||
|
||||
// 2. Supprime tous les sauts de ligne, retours chariot et tabulations
|
||||
$html = str_replace(array("\r\n", "\r", "\n", "\t"), '', $html);
|
||||
|
||||
// 3. Remplace les multiples espaces par un seul espace
|
||||
$html = preg_replace('/\s+/', ' ', $html);
|
||||
|
||||
// 4. Supprime les espaces qui se trouvent juste après '>' ou juste avant '<'
|
||||
// Cela compresse l'espace entre les balises.
|
||||
$html = preg_replace('/>\s</', '><', $html);
|
||||
|
||||
return trim($html);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user