RateLimiter
класс RateLimiter (Просмотреть исходный код)
Трейты
| InteractsWithTime |
Свойства
| protected Repository | $cache | Реализация хранилища кэша. |
|
| protected array | $limiters | Настроенные обработчики объектов лимитов. |
Методы
| int |
secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до указанной даты и времени. |
из InteractsWithTime |
| int |
availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить отметку времени "доступно в" в формате UNIX. |
из InteractsWithTime |
| DateTimeInterface|int |
parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение является интервалом, преобразовать его в экземпляр DateTime. |
из InteractsWithTime |
| int |
currentTime()
Получить текущее системное время в формате UNIX. |
из InteractsWithTime |
| void |
__construct(Repository $cache)
Создать новый экземпляр RateLimiter. |
Подробности
protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до заданной даты DateTime.
protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить метку времени (UNIX timestamp) "доступно в".
protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение — интервал, преобразовать его в экземпляр DateTime.
protected int currentTime()
Получить текущее системное время в виде метки времени (UNIX timestamp).
void __construct(Repository $cache)
Создать новый экземпляр лимитера.
$this for(string $name, Closure $callback)
Зарегистрировать конфигурацию лимитера с заданным именем.
Closure limiter(string $name)
Получить лимитер с заданным именем.
mixed attempt(string $key, int $maxAttempts, Closure $callback, int $decaySeconds = 60)
Попытка выполнить обратный вызов, если нет ограничений.
bool tooManyAttempts(string $key, int $maxAttempts)
Определяет, превышено ли количество попыток для заданного ключа.
int hit(string $key, int $decaySeconds = 60)
Увеличивает счётчик для заданного ключа на заданное время отсчёта.
mixed attempts(string $key)
Получает количество попыток для заданного ключа.
mixed resetAttempts(string $key)
Сбрасывает количество попыток для заданного ключа.
int remaining(string $key, int $maxAttempts)
Получает количество оставшихся попыток для заданного ключа.
int retriesLeft(string $key, int $maxAttempts)
Получает количество оставшихся попыток для заданного ключа.
void clear(string $key)
Очищает счётчики и таймер блокировки для заданного ключа.
int availableIn(string $key)
Получает количество секунд до повторного доступа к "ключу".
string cleanRateLimiterKey(string $key)
Очищает ключ ограничителя скорости от символов Юникода.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Cache/RateLimiter.html