Здравствуйте, у меня в событии events_example_subscriber создается кука, если есть определенный GET параметр, но он кэшируется, т.е. если удалить куку и снова перейти по ссылке с GET параметром, то он его не добавит, пока не сбросить кэш, как убрать кэширование на это событие?
events_example_subscriber:
class: Drupal\myModule\EventSubscriber\EventsExampleSubscriber
tags:
- {name: event_subscriber}
сам Класс:
<?php
namespace Drupal\myModule\EventSubscriber;
use
Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class
EventsExampleSubscriber implements EventSubscriberInterface
{
public function checkForRedirection(GetResponseEvent $event)
{
if ($event->getRequest()->query->get('YFI')) {
if (!isset($_COOKIE['myCoockie']) | empty($_COOKIE['myCoockie'])) {
setcookie('myCoockie', $_SERVER['REQUEST_URI'], time() + 60 * 60 * 24 * 30, '/');
} elseif (isset($_COOKIE['myCoockie']) && !empty($_COOKIE['myCoockie'])) {
if ($_COOKIE['myCoockie'] !== $_SERVER['REQUEST_URI']) {
setcookie('myCoockie', "", time() - 3600);
setcookie('myCoockie', $_SERVER['REQUEST_URI'], time() + 60 * 60 * 24 * 30, '/');
}
}
}
}
public static function
getSubscribedEvents()
{
$events[KernelEvents::REQUEST][] = array('checkForRedirection');
return $events;
}
}
?>
Комментарии
попробуйте установить повышенный приоритет
<?php
$events[KernelEvents::REQUEST][] = array('checkForRedirection', 30);
?>
Спасибо, помогло. Не подскажите есть статья где про это можно почитать?