RateLimiter
class RateLimiter (View source)
Особенности
| InteractsWithTime |
Свойства
| protected Repository | $cache | Реализация хранилища кэша. | |
| protected array | $limiters | Настроенные обработчики объектов лимита. |
Методы
| int | secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до заданной даты DateTime. | из InteractsWithTime |
| int | availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить отметку времени "доступно в" в формате UNIX. | из InteractsWithTime |
| DateTimeInterface|int | parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение является интервалом, преобразовать его в объект DateTime. | из InteractsWithTime |
| int | currentTime()
Получить текущее системное время в формате UNIX timestamp. | из InteractsWithTime |
| void | __construct(Repository $cache)
Создать новый экземпляр RateLimiter. | |
| $this | for(string $name, Closure $callback)
Зарегистрировать конфигурацию лимита с именем. | |
| Closure|null | limiter(string $name)
Получить заданный лимит с заданным именем. | |
| mixed | attempt(string $key, int $maxAttempts, Closure $callback, int $decaySeconds = 60)
Попытка выполнить коллбек, если нет ограничений. | |
| bool | tooManyAttempts(string $key, int $maxAttempts)
Определить, было ли превышено заданное число попыток для данного ключа. |
Подробности
protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до заданного DateTime.
protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить метку времени «доступно в» в формате Unix.
protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение является интервалом, преобразовать его в экземпляр DateTime.
protected int currentTime()
Получить текущее системное время как метку времени Unix.
void __construct(Repository $cache)
Создать новый экземпляр лимитера скорости.
$this for(string $name, Closure $callback)
Зарегистрировать конфигурацию лимитера с именем.
Closure|null 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)
Увеличить счётчик для заданного ключа на заданное время затухания.
int increment(string $key, int $decaySeconds = 60, int $amount = 1)
Увеличить счётчик для заданного ключа на заданное время затухания на заданную величину.
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/10.x/Illuminate/Cache/RateLimiter.html