Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
838 of 1361 menu
◀ ▶

Метод getRemainingTokens

Метод getRemainingTokens принадлежит классу RateLimit и возвращает целое число - количество токенов, которые ещё доступны в данный момент. Метод не принимает параметров. Обычно он используется вместе с методом isAccepted, чтобы показать пользователю, сколько попыток у него осталось.

Синтаксис

public function getRemainingTokens(): int

Пример

Давайте создадим ограничитель и проверим, сколько токенов осталось после одного запроса:

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

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

4

Пример

Давайте выведем количество оставшихся токенов в виде строки:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\RateLimiter\RateLimiterFactory; class ArticleController extends AbstractController { public function index(RateLimiterFactory $anonymousApiLimiter): Response { $limiter = $anonymousApiLimiter->create('user'); $limit = $limiter->consume(1); $res = 'Remaining tokens: ' . $limit->getRemainingTokens(); return new Response($res); } } ?>

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

"Remaining tokens: 4"

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

  • класс RateLimit,
    который представляет результат ограничения
  • метод isAccepted,
    который проверяет, принят ли запрос
  • метод getRetryAfter,
    который возвращает время до следующей попытки
  • метод consume,
    который расходует токены из хранилища
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить