РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
835 of 1361 menu

Метод reset

Метод reset класса RateLimiter сбрасывает состояние лимитера для конкретного ключа. Он обнуляет количество потреблённых токенов и восстанавливает полный доступный лимит, заданный при создании лимитера. Первым параметром передаётся строковый ключ, для которого нужно выполнить сброс.

Синтаксис

$limiter->reset(string $key): void

Пример

Давайте создадим лимитер, израсходуем часть токенов, а затем сбросим лимит для ключа:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\RateLimiter\RateLimiterFactory; class RateController extends AbstractController { public function index(RateLimiterFactory $apiLimiter): Response { $limiter = $apiLimiter->create('user'); $limit = $limiter->consume(3); echo $limit->getRemainingTokens(); $limiter->reset('user'); echo $limit->getRemainingTokens(); return new Response(); } } ?>

Результат выполнения кода:

75

Пример

Давайте проверим, что после сброса лимит снова доступен для потребления:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\RateLimiter\RateLimiterFactory; class RateController extends AbstractController { public function index(RateLimiterFactory $apiLimiter): Response { $limiter = $apiLimiter->create('abcde'); for ($i = 0; $i < 10; $i++) { $limiter->consume(1); } $limiter->reset('abcde'); $limit = $limiter->consume(1); echo $limit->isAccepted() ? 'accepted' : 'rejected'; return new Response(); } } ?>

Результат выполнения кода:

"accepted"

Смотрите также

  • класс RateLimiter,
    который управляет ограничением скорости
  • метод create,
    который создаёт новый лимитер
  • метод consume,
    который расходует токены лимитера
  • класс RateLimit,
    который хранит результат проверки лимита
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить